윈도우에서 Command Line 을 종종 사용하시겠지만 cmd.exe 프로그램이 그리 편리하진 않죠~

 

그래서 요즘은 저는 powershell 을 주로 사용하긴 하는데~

 

근래에 찾아보니 clink 라는 프로그램이 있어서 소개 드리려 합니다.

 

clink 는 아래 주소에서 다운로드 받을 수 있습니다.

 

http://mridgers.github.io/clink/

 

소개에 나와 있는 바와 같이 cmd.exe 프로그램을 Bash-style 로 사용할 수 있도록 해주는 프로그램인데요~

 

위 공식 홈페이지뿐만 아니라 이전에 소개했던 chocolatey 을 사용하여~

 

http://iamaman.tistory.com/1303

 

아래 명령어들로 설치 할 수 있습니다. Portable 버전을 사용하고 싶다면 첫 번째 명령어를 install 버전을 사용하고 싶다면 두 번째 명령어를 사용하면 됩니다.

 

choco install clink.portable

OR

choco install clink.install

 

 

Ctrl-V 을 사용하여 붙여 넣기를 할 수도 있고~

 

명령어를 타이핑 하다가 TAB 을 누르면 아래 그림과 같이 자동으로 해당 명령어들이 나옵니다. 저는 이 기능이 cmd.exe 에서 특히 고팠던 건데 자동으로 명령어들이 나오니 편리하더군요.

 

다음으로 Bash Shell 에서와 같이 CTRL + L 을 누르면 창 clear 되고~ CTRL + W 을 누르면 커서 앞의 한 단어가 지워 집니다.

 

그리고~ Alt + H 을 누르면 clink 에서 사용 할 수 있는 명령어 리스트 들이 나옵니다.

 

명령어가 무지하게 많으니 천천히 사용해 보면서 익히면 될 것 같네요.

코딩을 하다 보면 규칙적인 코딩을 해야 하는 경우가 종종 있습니다.

 

아래 경우와 같이 순차적으로 증가하는 코드를 생각해 보죠~


a0=0;

a1=1;

a2=2;

a3=3;

a4=4;

.

.

.


아래 글에서도 소개를 했지만 vim 을 사용하는 경우 visincr 라는 플러그인을 사용하면 위 코드 예와 같은 경우 쉽게 인덱스를 증가 시킬 수 있습니다.

 

http://iamaman.tistory.com/324

 

그런데 저는 일반적으로 사용하는 에디터에서도 이런 자동 증가 기능이 있었으면 하는 생각이 들더군요.

 

그래서 Autohotkey 와 Perl 을 사용하여 인덱스를 자동 증가 시키는 코드를 한번 만들어 봤습니다.

 

일단 숫자를 인식 해야 할 테니 regular expression 을 지원해야겠고 문자를 숫자로 인식 한 후에 1씩 증가 할 수 있어야겠죠~ 그래서 이 부분은 Perl 을 활용 했습니다.

 

이를 위한 Perl 코드는 다음과 같습니다. 아래 코드에서 보는 바와 같이 Win32::Clipboard 을 활용 했습니다. 아래 Perl 코드의 파일 명은 ClipIncrease.pl 로 만들었습니다.

 

 

Win32::Clipboard 이 없는 분들은 CPAN client 을 실행 한 후에 install Win32::Clipboard 이라는 명령을 통해 설치 할 수 있습니다.

 

다음으로 위 코드를 실행 시키기 위해 Autohotkey 단축키를 하나 만들었습니다. 코드는 다음과 같습니다. 아래 코드에서는 ClipIncrease.pl의 Fullpath 경로만 제대로 설정해 주면 됩니다.

 

+#=::

InputBox, Nloop, Enter # of Loop, , , 300, 100

if Errorlevel=0

{

Run, %comspec% /c perl.exe ClipIncrease.pl의 Fullpath %Nloop%, , Min

}

 

SplashTextOn, ,, Processing End,

Sleep, 1000

SplashTextOff

return

 

위 Autohotkey 코드의 단축키는 Shift + Win + = 입니다.

 

사용 방법을 간단히 설명 드리면~ 위 예에서~ 첫 줄의 코드 부분(a0=0;)을 복사 합니다.

 

다음으로 Shift + Win + = 을 눌러서 Autohotkey 코드는 실행하면 나타나는 InputBox 에 다음과 같이 증가 횟수를 적어 줍니다. 저는 10회를 적었습니다.

 

Ok 을 누른 후에 좀 있으면 다음과 같이 "Processing End" 라는 메시지가 나옵니다.

다음으로 위 코드의 아래 쪽에 CTRL + V 을 해서 붙여 넣기를 합니다.

 

그럼 다음과 같은 코드가 만들어 집니다.

 

위 예는 간단히 10 회 반복을 했지만~ 100 회 1000 회 반복도 쉽게 할 수 있겠죠?


+ Recent posts