'VIM'에 해당되는 글 10

  1. 2020.07.14 [vi실습] JSON 편집 / ci'
  2. 2012.03.15 [Vim] JAVA 컴파일하기 - javac 이용
  3. 2012.03.15 [Vim] 테마, 색 설정하기
  4. 2012.03.15 [Vim] 글꼴 설정
  5. 2012.02.22 Vim에서 수정한 부분 찾기
  6. 2012.02.21 Vim Script 관련 자료
  7. 2012.02.18 Vim으로 IDE 흉내내기
  8. 2012.02.16 taglist.vim
  9. 2011.08.14 jVi
  10. 2010.05.28 몰랐던 vi 기능

[vi실습] JSON 편집 / ci'

특정 문자로 둘러싸인 글뭉치를 편집하는 경우가 많다.
Json 뿐만 아니라 XML, HTML, 규칙적인 데이터
문서편집기의 열편집, 매크로 기능을 이용해서 할 수 있음.

 

vi에서 해본다 (문서 전체에서 특정 패턴을 찾는 방법은 다음에~)

{ id: 22, name: 'Alice', score: 123, city: 'Atlanta', birthday: '1981/12/03'},
 
$-F-'-;-;-d-i-'-;-;
뒤에서부터 '를 찾고, 
;로 반복해서 찾고  //3F'를 사용해도 된다.
 
c-i-'로 '으로 둘러싸인 부분을 편집한다. 오호~
d-i-', y-i-' 가능
 
사용가능 문자
', ", <, [, {, (,
 
new File("downloadedimg.jpg").withOutputStream { out -> //di" ci(

<node1 name="company/bizplace/dept">

, get_code_nm(#{S_COCD}, user_type, 'ko') as user_type_nm
이런 경우에도 편하게 사용
 
매크로를 사용할 수도 있음.
컬럼모드로 수정은 다음에~
 
 

 

[Vim] JAVA 컴파일하기 - javac 이용

let $PATH = $PATH . ";C:/Program\ Files/Java/jdk1.6.0_26/bin/" "또는 javac.exe가 PATH에 잡혀 있어야 한다.
set makeprg=javac\ %
set errorformat=%A%f:%l:\ %m,%-Z%p^,%-C%.%#

:make 를 하면 에러가 난 곳으로 이동한다.
:cn 은 다음 에러가 난 곳으로 이동한다.
:cp 는 이전 에러가 난 곳으로 이동한다.
:cw 는 에러 목록을 보여주고 에러가 난 곳으로 이동할 수 있다.
:cl 는 에러 목록을 보여준다.


- 실행
:!java %:r

- 참고
Linux등에서 Vim 으로 Java 프로그램 짜기
:help filename-modifiers

이렇게도 가능하지만 ...
:!"C:\Program Files\Java\jdk1.6.0_20\bin\javac" %

[Vim] 테마, 색 설정하기

- 테마 지정
colo desert

torte, slate도 괜찮은 듯

- 테마 참고
Vim ColorScheme 변경 방법
VIM 에디터 Color Scheme 바꾸기

- 커서 라인 지정하기
set cursorline
hi cursorline guibg = grey40

디폴트 테마에서는 grey90 이 적당함. 숫자가 작을수록 연하다.

- Print Margin 지정하기
set colorcolumn=101
hi colorcolumn ctermbg=lightgrey guibg=grey16

그런데 이거 굵기가 마음에 안든다.


[Vim] 글꼴 설정

set guifont=Lucida_Console:h11:b:cANSI

이게 보기 편함.

gVim에서는 편집 - 글꼴 고르기로 가능하다.


============설정 저장=>
현재 값을 알고 싶으시면
:echo &guifont

insert mode에서
<Control-R>=&guifont
이렇게 치시면 guifont 변수 값이 버퍼에 입력됩니다.



Vim에서 수정한 부분 찾기

파일을 저장하기 전 어떤 부분을 수정했는지 보고 싶은 경우가 있다.

Eclipse에서는????

*svn과 연결되어 있으면 서버와 비교, 아니면 local history와 비교



71라인 : 변경, 1234를 9999로 변경
72라인 : 삭제
73라인 : 추가

정말 멋지다.

myvimrc
function! DiffPreview()
    diffthis | vsplit | enew | set buftype=nofile | read # | 1delete | diffthis
endfunction

map \difl <ESC>:call DiffPreview()<CR>


Vim으로 IDE 흉내내기

Eclipse처럼 파일 탐색, 소스를 열어서 작업하고, 현재 열려 있는 파일의 구조를 파악하고 싶다.


- NERDTreeTagList를 이용한다.



- Source Explorer도 추가한다.

- Trinity라는 플러그인이 있는데 별로인거 같다.
trinity.vim : Build the trinity of srcexpl, taglist, NERD_tree to be a good IDE

- 설정
set guifont=Lucida_Console:h11:b:cANSI
set colorcolumn=101

"창 크기 조절 : 위와 같은 설정일 때 아래와 같은 값이 제일 적당하다.
let g:NERDTreeWinSize = 21
let Tlist_WinWidth = 23

nmap <F8> :NERDTree<CR>:TlistToggle <CR>:SrcExplToggle<CR>


taglist.vim

taglist.vim : Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc)
taglist는 소스 코드 브라우저 플러그인이다.

- 설치
ctags가 설치되어 있어야 한다.
C:\Program Files\Vim\vimfiles\taglist_45/doc/taglist_45/plugin/ 를 복사해 넣는다.

- 사용법
:TlistToggle 또는 Tlist 를 입력하면 왼쪽에 창이 생기고 field, method 등이 보인다.

- 설정
let Tlist_Use_Right_Window=1 "오른쪽에 보이게 한다.
let Tlist_Auto_Open = 1 "vi 실행시 TagList 자동실행"

- 단축키
F1 도움말
x 크게 하기
s 정렬
+
-

- 소스가 있는 경로에 공백이나 . 이 있으면 제대로 동작하지 않는다.



jVi

- jVi - vi editor clone

- http://blogs.oracle.com/katakai/tags/jvi


- jVi Options and Configuration - Control-Key Bindings
Ctrl+W 체크를 풀어야 창닫기 단축키 사용이 가능해 진다.
Ctrl+S 도 해제

- viex 도 있음.

몰랐던 vi 기능

- 현재 행 첫번째 글자로 가기
소스 코드는 들여쓰기가 되어 있어서 0, w로 이동했다.
^로 바로 이동 가능함.
그런데 0, w가 가까워서 더 좋은거 같다. 손에 안익어서 그런가?

- * : search for word for under cursor
이렇게 좋은걸 이제 알았다.

- script 기능
플러그인처럼 삽입할 수 있는 많은 기능이 있다고 한다.
ftp 접속도 가능하다고 하는데 vim으로 갈까?

vi 현재커서의 아스키값 ga
http://rasskang.tistory.com/18
=>hexa코드 볼때? 비교?