Emacs – 폴더에서 상호작용하며, 텍스트 찾아 바꾸기

텍스트 파일 버퍼 안에서가 아닌, 다수의 파일 여러개의 파일안에 특정 문자열을 변경하고 싶을 때 사용합니다.

원문

사용법

  1. dired을 실행, 디렉토리 목록에서 변경하고 싶은 파일을 선택 %m합니다.
  2. Q를 누르면 dired-do-query-replace-regexp.
  3. 정규식 또는 특정 문자열을 입력합니다. (elisp 정규식 패턴)
  4. 변경 될 문자열로 focus가 이동하게 되는데, 변경하고자 한다면 y, 아니면 n을 눌러 변경해줍니다. 만약 변경 중 취소하고 싶다면 Ctrl+g를 눌러주세요.
    • 파일안에 모든 문자열을 한번에 변경하고자 한다면, ! 또는 변경을 원하지 않는다면 N을 눌러주세요. (23버전 이후만 가능)
    • 모든 파일을 한번에 적용하고 싶다면, Y를 눌러주세요.
  5. 변경 된 (열려진 파일)을 저장하기 위해서, ibuffer를 이용, 모든 파일을 열어 저장하기 위해서 *****을 이용하여 마크 후 S를 눌러 저장해주세요. 파일을 닫기 위해서는 D를 사용합니다.

끄읕

Emacs > 맥을 위한 이맥스 Daemon 설정하기

(참조)[https://gist.github.com/ambethia/304964]

여러가지 스크립트가 포함되어 있는 이맥스를 실핼할 때 반복적인 시간이 소요 되는데 이를 해소 할 수 있는 방법을 소개합니다.

맥에 이맥스가 이미 설치 되어 있다는 가정하에 문서를 작성하였습니다.

이맥스 데몬 어플리케이션 생성하기

맥에서 ‘Script Editor’를 열어 아래의 내용을 입력해주세요.

tell application "Terminal"
do shell script "/Applications/Emacs.app/Contents/MacOS/Emacs --daemon"
endtell

저장 할 때는 File > Export, 그리고 File Format : Application을 선택하여 Applications/ 폴더에 저장해주세요.

이상 이맥스 데몬 어플리케이션을 생성하였습니다.

이제 맥이 실행될 때 이 앱을 실행 시켜주기 위해서 어플리케이션을 등록해 봅시다.

  • System Preferences > Accounts 열기
  • 계정 선택 후 Login Items탭 선택
  • ‘+’버튼을 눌러 Emacs Daemon을 선택
  • hide 체크방식에 대해서는 생각할 필요 없음. (나중에 앱 아이콘을 없앨 예정)

이맥스 클라이언트 어플리케이션 생성하기

다시 한번 Script Editor를 열어 아래의 내용을 넣어주세요.

tell application "Terminal"
do shell script "/Applications/Emacs.app/Contents/MacOS/bin/emacsclient -c"
endtell

저장 할 때는 위와 동일하게 Application타입을 선택해주시고, Emacs Client 이름으로 Applications/폴더에 저장해주세요.

새로 생성한 Emacs Client에 아이콘 적용하기

  • Finder를 열어 Application Folder 선택해주세요.
  • Emacs application선택 후 우측 버튼 > Show Package Contents를 선택해주세요.
  • Contents/Resources 폴더 안에 Emacs.icns를 Emacs Client 폴더안에 있는 Content/resources 폴더에 넣어주세요. 그리고 기존에 있던 applet.icns를 삭제하시고 Emacs.icns파일을 applet.icns파일 이름으로 변경해주세요.

Emacs Client가 동작 되는 동안 Dock에서 Emacs 아이콘을 숨겨보자.

  • Application folder에 있는 Emacs Application (Emacs Client가 아님), Show Package Contents로 열어주세요.
  • Info.plist파일을 열어 Add child를 통해 키 NSUIElement, 값 1을 설정해주세요.

모든 설정이 완료 되었네요.

그럼 즐거운 이맥스 라이프!!

Tool – wireshark 설치

brew를 이용한 whireshark 설치 방법에 대해서 기술한다.


1) 기존 wireshark 삭제하기

$ sudo bash -c "$(curl -sL https://raw.github.com/x0b4dc0d3/wireshark-uninstall-osx/master/uninstall.sh)"

2) brew를 이용하여 설치하기

$ brew install wireshark

만약 GUI버전이 필요하다면 QT와 함께 설치 해주어야 한다.

$ brew reinstall wireshark --with-qt

Tool – Generating SSH Keys

It’s from help.github.com.

Step 1: Check for SSH keys

$ cd ~/.ssh
$ ls -al
#Lists the files in your .ssh directory

Check the directory listing to see if you have files named wither id_rsa.pub or id_dsa.pub. If you don’t have either of those files go to step 2. Otherwise. you can skip to step 3.

Step 2: generate a new SSH Key

To generate a new SSH key, copy and paste the text below, making sure to substitute in your email.
The default settings are preferred, so when you’re asked to “enter a file in which to save the key, “” just press enter to continue.

$ ssh-keygen -t rsa -C "your_email@example.com"
# Creates a new ssh key, using the provided email as a label
Generating public/private rya key pair.
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

Next, you’ll be asked to enter a passphrase.

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

Which should give you something like this:

Your identification has been saved in /Users/you/.ssh/id_rsa.
Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
The key fingerprint is :
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

Then add your new key to the ssh-agent:

$ ssh-add ~/.ssh/id_rsa

XCode > GDB를 이용하여 레이아웃 트리 형식으로 확인하기

화면에 대한 구조를 트리 형식으로 출력하기 위한 방법을 설명합니다.

앱을 정지시키기 위해서 XCode안에 아래와 같이 표시되어 있는 Pause 버튼을 누르세요. Screenshot 2014 02 09 18 21 28 4

그러면 아래와 (lldb) 프롬포트가 활성화되고 아래와 같이 입력해줍니다.

po [[UIWindow keyWindow] _autolayoutTrace]

*po (print object)의 축약입니다.

아래와 같이 트리구조로 확인 하실 수 있습니다.

*<UIWindow:0x8a2b5a0> - AMBIGUOUS LAYOUT
|   *<UIView:0x8a2fd20>
|   |   *<UITableView:0xa193a00>
|   |   |   <UITableViewWrapperView:0x8a30070>
|   |   |   <UIImageView:0x8a22af0>
|   |   |   <_UITableViewCellSeparatorView:0x8a58730>

감사합니다. (꾸벅 __)

Install ‘ispeel’ on Mac OS X.

이맥스에서 M-x ispell-check-version을 입력할 경우 아래와 같은 메시지가 나올때가 있다.

‘Searching for program:No such file or directory.

brew install ispell –with-lang-en 을 설치함으로써 해결 할 수 있다.

Tool > 다수의 프로젝트 다수의 라이브러리에서 Proguard 적용하기

3개의 안드로이드 프로젝트와 다수의 외부 라이브러리 상태에서 Proguard를 적용 시킬 경우 어플리케이션이 죽는 경우가 있을 수 있다.

대충 문제를 살펴본 결과 외부 라이브러리를 찾지 못하여 발생하는 문제로 아래와 같이 해결 할 수 있다.

-libraryjars 라이브러리 경로/파일명.jar

또는 

-keep class org.** { *; }

 두가지의 방법으로 해결 할 수 있다.

Tool > GDB Basic (Shortcut)

GDB Documentation – The GNU Operation System

Starting GDB for basic user.

You’ve to compile the file with -g flag for GDB.

ex) gcc -g -o test test.c

You can see ‘test’ file that you compile it from test.c.

GDB Commands 

run ( r ) GDB Mode 에서 프로그램을 동작시킨다.

break ( b ) 브레이크 포인터를 생성한다. 

ex 1) break 2 // 2번째 라인에 브레이크를 건다.

ex 2) break hello // hello 함수에 브레이크를 건다.

ex 3) break 0x000xx // 주소에 브레이크를 건다.

delete ( d ) 브레이크 포인트를 제거한다.

info break ( i b ) 현재 설정되어 있는 브레이크를 보여준다.)

step ( s ) 현재 라인을 수행한다. 만일 함수 호출이 있다면 해당 함수로 포인터를 넘긴다.

next  ( n ) step과 비슷하다. 하지만 현재 라인이 함수 호출을 하고 있다면 이 명령어는 함수를 수행하고 다음 라인에서 멈추게 된다.

finish ( f ) next 커맨드를 계속 유지 시켜 포인터를 함수의 끝까지 보낸다.

continue ( c ) 브레이크 포인터를 만날때 까지나 프로그램의 스톱이 될때 까지 프로그램을 수행 한다.

where  ( w ) 함수 호출 스택에 따른 현재 위치를 보여준다. print ( p ) 변수값을 출력한다.

display ( d ) 매 스탭마다 변수에 설정된 값을 출력한다. 

list ( l ) 소스 코드를 출력한다. 

quit ( q ) GDB를 종료시킨다.

ZIP > How to encrypted ZIP files on Termial.

If you want to read as english, you can see the following link site.

ref

zip -er pathToZIPFile pathToFolder

-e 옵션은 암호화를 하겠다라는 의미이다.
-r 옵션은 서브디렉토리 안에 파일들까지 모두 포함시키겠다 라는 의미이다.

zip -er Documents.zip Documents

만약 Documents디렉토리를 모두다 포함시켜 압축하고 싶다면 위와 같이 사용할 수 있다.