vim筆記

vimrc

filetype indent on
set ts=4
set autoindent
set smartindent
set shiftwidth=4
set fileencodings=utf-8
set termencoding=utf-8
set fileformats=unix
set encoding=utf8
set list lcs=tab:\|\ 
set incsearch
set hlsearch
color slate
set undofile
set backup
set swapfile
set undodir=/home/ejmoog/.vim/vimud
set backupdir=/home/ejmoog/.vim/vimbk
set directory=/home/ejmoog/.vim/vimsp
map <F6> :NERDTreeToggle<CR>
map <F7> :syntax sync fromstart<CR>
map <F8> :w<CR>
map <F9> "+p
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType c set omnifunc=ccomplete#Complete

生成遞增數列

:r !seq FIRST INCREMENT LAST,如:

:r !seq 20903 -1 1

排序

:%!sort -k4 -n -t":"

如果要按字母排序,就是把-n換成-d。

-k是第幾列,-t是分隔符,分隔符可能無法用\t,因為我試一直不行,所以先把\t替換成了:。

安裝插件

mkdir -p ~/.vim/pack/vendor/start

之後為每個插件在start/中創建一個文件夾。

多文件查找

:vimgrep /Neovim/gj **/*
:copen
:cfdo %s/Neovim/Nvim/ge | update

非貪婪匹配

印象中VIM的REGEX是無比強大的,我用起VIM的REGEX也是相當拿手。但今天想完成一個非貪婪匹配,卻屢遭挫敗。
上網找了一些資料,如這個,和這個,才知道VIM的REGEX雖然強大,但表現方法已很不同。

最後引用下某人的總結:

.*? = .\{-}
.+? = .\{-1,}

查看vim自帶幫助
:h /\{

對比兩個文件

比較已打開窗口的文檔
:windo diffthis

在不同點之間跳轉:]c或[c

關閉比較模式
:windo diffoff

重繪

:syntax sync fromstart

標記和跳轉

標記行a:

ma

跳轉行a:

'a

最新編輯所在行:

''(兩個單引號)

2 thoughts on “vim筆記”

Leave a Comment