Vim【学习笔记】
【2017-02-04】
先放幾個比較好的資料,看這些資料就好了:
1.Vim入門基礎(chǔ)?http://www.jianshu.com/p/bcbe916f97e1
2.vim配置?http://blog.csdn.net/g_brightboy/article/details/14229139
3.簡明Vim練級攻略?http://coolshell.cn/articles/5426.html
4.http://blog.csdn.net/mu_zhou233/article/details/53045831
【update:2017-02-18】學(xué)會了替換,注意[需要轉(zhuǎn)義
?
吐槽:在Mac OS上安裝Vim好麻煩啊.........,并且mvim不支持shift選擇了嗚嗚并且ctrl和command建都不知道按哪個,還是gvim好
?
我的配置文件
" Candy? MacOSset number set ruler set tabstop=4 set shiftwidth=4 set autoindent set smartindent filetype on syntax on colorscheme solarized set showmatch set guifont=Monaco:h20 set mouse=a set selection=exclusive set selectmode=mouse,key nnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o nnoremap <F8> <Esc>:!./ nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR> nnoremap <F10> <Esc>:!./a<CR>?
" Candy? Windowsset number set ruler set tabstop=4 set shiftwidth=4 set autoindent set smartindent filetype on syntax on colorscheme solarized set showmatch set guifont=monaco:h16 set mouse=a set selection=exclusive set selectmode=mouse,key nnoremap <F7> <Esc>:w<CR>:!g++ % -Wall -o nnoremap <F8> <Esc>:! nnoremap <F9> <Esc>:w<CR>:!g++ % -Wall -o a<CR> nnoremap <F10> <Esc>:!a<CR> set nohlsearch?
后幾個是為了方便編譯(然而并不如直接在終端編譯)
字體 Mac上用Monaco 20號(Monaco字體太漂亮了太可愛了),Windows上用16號
機(jī)房電腦的環(huán)境變量Path設(shè)置:
C:\Program Files (x86)\Vim\vim80;C:\Program Files (x86)\Dev-Cpp\MinGW64\bin;?命令概覽:
命令前加數(shù)字N可以重復(fù)命令(通常是接下來N行/N個字符進(jìn)行命令)
通常小寫字母與下有關(guān),大寫字母與上有關(guān)
?
?
[附錄]一些命令:
k 上移; j 下移; h 左移; l 右移。gg 將光標(biāo)定位到文件第一行起始位置;
G 將光標(biāo)定位到文件最后一行起始位置;
0 數(shù)字0,左移光標(biāo)到本行的開始;
$ 右移光標(biāo),到本行的末尾;
^ 移動光標(biāo),到本行的第一個非空字符。
fc
Fc
<C+u><C+d>
Ctrl+e 往后滾動一行 Ctrl+y 往前滾動一行 //windows不行? ?
* 當(dāng)光標(biāo)停留在一個單詞上,* 鍵會在文件內(nèi)搜索該單詞,并跳轉(zhuǎn)到下一處; /str1 正向搜索字符串 str1; n 繼續(xù)搜索,找出 str1 字符串下次出現(xiàn)的位置; N 繼續(xù)搜索,找出 str1 字符串上一次出現(xiàn)的位置; ?str2 反向搜索字符串 str2 。
?
x 刪除光標(biāo)所指向的當(dāng)前字符; nx 刪除光標(biāo)所指向的前 n 個字符;dd 刪除光標(biāo)所在行,并去除空隙; ndd 刪除(剪切) n 行內(nèi)容,并去除空隙;
d$ 從當(dāng)前光標(biāo)起刪除字符直到行的結(jié)束; d0 從當(dāng)前光標(biāo)起刪除字符直到行的開始;
dt"?→ 刪除所有的內(nèi)容,直到遇到雙引號——?"
?d和y都可以當(dāng)成兩邊加上范圍用....(默認(rèn)第一個范圍是當(dāng)前位置)
p 小寫字母 p,將緩沖區(qū)的內(nèi)容粘貼到光標(biāo)的后面; P 大寫字母 P,將緩沖區(qū)的內(nèi)容粘貼到光標(biāo)的前面。 yy 復(fù)制當(dāng)前行到內(nèi)存緩沖區(qū); nyy 復(fù)制 n 行內(nèi)容到內(nèi)存緩沖區(qū);“+y 復(fù)制 1 行到操作系統(tǒng)的粘貼板; “+nyy 復(fù)制 n 行到操作系統(tǒng)的粘貼板。
?
u 撤消前一條命令的結(jié)果;<C+r> 恢復(fù)命令 . 重復(fù)最后一條修改正文的命令。
?
?
i 在光標(biāo)左側(cè)插入正文 a 在光標(biāo)右側(cè)插入正文 o 在光標(biāo)所在行的下一行增添新行 O 在光標(biāo)所在行的上一行增添新行 I 在光標(biāo)所在行的開頭插入 A 在光標(biāo)所在行的末尾插入:n 將光標(biāo)移到第 n 行
正則表達(dá)式 替換:
?
:s/str1/str2/ 用字符串 str2 替換當(dāng)前行中首次出現(xiàn)的字符串 str1 :s/str1/str2/g 用字符串 str2 替換當(dāng)前行中所有出現(xiàn)的字符串 str1:%s 所有行 :.,$ s/str1/str2/g 用字符串 str2 替換當(dāng)前行到末尾所有出現(xiàn)的字符串 str1 :1,$ s/str1/str2/g 用字符串 str2 替換正文中所有出現(xiàn)的字符串 str1
:m,ns/str1/str2/g 將從m行到n行的str1替換成str2
?
?
<< >> 縮進(jìn)?
?
?
可視 塊
<C+v> <C+q>
?
轉(zhuǎn)載于:https://www.cnblogs.com/candy99/p/vim.html
總結(jié)
- 上一篇: C# ICSharpCode.Shar
- 下一篇: 借助JRebel使Tomcat支持热部署