vi常用命令与设置(不断修改中)
?注:前綴':'表示vim命令(命令模式),前綴'$'表示為shell命令,
表示Ctrl + W,表示Ctrl + Shift+ 6,無(wú)前綴者
均為普通模式下的鍵盤(pán)按鍵。
基本的插入與修改:
? ?? ???a? ?? ? 光標(biāo)下一個(gè)字符處插入;
? ?? ???i? ?? ? 在當(dāng)前光標(biāo)處插入;
? ?? ???A? ?? ? 行尾插入;
? ?? ???o? ?? ? 在光標(biāo)下新建一行插入;
? ?? ???r? ?? ? 鍵入替換一個(gè)字符;
? ?? ???R? ?? ? 鍵入替換所有字符;
? ?? ???`.? ?? ?光標(biāo)定位到上一次修改處;
? ?? ???u? ?? ? Undo
? ?? ?? ???Redo
? ?? ???:e!? ???撤銷(xiāo)所有修改。
? ?? ???
文件查找與替換:
? ?? ???*, #? ?? ?? ?? ?向前/后查找相同單詞(如果打開(kāi)set hlsearch,
? ?? ?? ?? ?? ?? ?? ?? ?則自動(dòng)高亮所有匹配單詞)
? ?? ???[[? ?? ?? ?? ?? ?
? ?? ???/dest? ?? ?? ???按n查找下一個(gè);N查找上一個(gè);
? ?? ????dest? ?? ?? ???反向查找;
? ?? ???:#,#s/old/new/g 把幾行之間的old全部替換成new
? ?? ???:%s/old/new/g? ?整個(gè)文件全局替換,old -> new;
? ?? ???:s/old/new? ?? ?只替換下一個(gè)匹配的字符串
? ?? ???:s/old/new/g? ? 替換一行的 old -> new;
文件光標(biāo)定位:
? ?? ???%? ?? ?? ?? ?? ?括號(hào)配對(duì)
? ?? ???ctrl + g? ?? ???顯示當(dāng)前行號(hào)
? ?? ???linenum + G? ???跳至某行
? ?? ???G? ?? ?? ?? ?? ?跳至末行
? ?? ???H? ?? ?? ?? ?? ?跳至首行
? ?? ???^? ?? ?? ?? ?? ?跳至行首
? ?? ???$? ?? ?? ?? ?? ?跳至行尾
? ?? ???fx Fx? ?? ?? ???移動(dòng)到下一個(gè)/上一個(gè)x開(kāi)頭的單詞
? ?? ???[[? ?? ?? ?? ???跳至上一個(gè)在第一列的{ (一般是函數(shù)的開(kāi)頭)
? ?? ???]]? ?? ?? ?? ???跳至下一個(gè)在第一列的{
? ?? ???{? ?? ?? ?? ?? ?跳至上一個(gè)空行
? ?? ???}? ?? ?? ?? ?? ?跳至下一個(gè)空行
? ?? ???gd? ?? ?? ?? ???光標(biāo)定位在某個(gè)局部變量上時(shí),跳到它的定義處;
? ?? ???使用cscope時(shí),在源文件頂層運(yùn)行
? ?? ???$cscope-indexer 生成cscope的tags, 然后使用查找各種數(shù)據(jù)類型的定義,再使用
? ?? ?? ?? ?? ?? ?? ?? ?回到光標(biāo)原來(lái)的位置.
shell:
? ?? ???:!cmdname? ?? ? 臨時(shí)使用shell命令cmdname
? ?? ???:sh? ?? ?? ?? ? 暫時(shí)回到shell(exit回到vim編輯界面)
多文件操作:
? ?? ???$ vi file1 file2? ?? ???一次性讀入多個(gè)文件(支持shell的所有通配符)
? ?? ???:sp file? ?? ?? ?? ?? ? 從一個(gè)新的水平分割窗口中打開(kāi)文件file
? ?? ???:vd file? ?? ?? ?? ?? ? 從一個(gè)新的垂直分隔窗口中打開(kāi)文件file
? ?? ???:n、:N? ?? ?? ?? ?? ?? ?當(dāng)前窗口進(jìn)行文件間切換
? ?? ?? ?? ?? ?? ?? ?? ?當(dāng)前窗口在兩個(gè)文件之間切換
? ?? ???:Sex? ?? ?? ?? ?? ?? ???在新的分割窗口中打開(kāi)目錄流覽器
? ?? ???:ls? ?? ?? ?? ?? ?? ?? ?列出當(dāng)前在編輯的文件
? ?? ???:b x? ?? ?? ?? ?? ?? ???當(dāng)前窗口跳到第x個(gè)文件buffer(:ls列出序號(hào))
? ?? ???:b file? ?? ?? ?? ?? ???當(dāng)前窗口跳到下一個(gè)文件名包含"file"的文件buffer
? ?? ???+? ?? ?? ?? ? 多窗口中快速切換(ctrl + w兩次)
其它:??
? ?? ?? ?? ?? ?? ?? ? 插入模式中,用于語(yǔ)法的單詞/結(jié)構(gòu)自動(dòng)補(bǔ)全
常用設(shè)置:
? ?? ???$ cp /usr/share/vim/vim70/vimrc_example.vim ~/.vimrc? ?? ?
? ?? ???以上是一個(gè)基本設(shè)置
? ?? ???:set hlsearch? ?高亮顯示/與?命令查找結(jié)果;
? ?? ???:set num? ?? ???顯示每行行號(hào)
? ?? ???Fterm登錄時(shí)如果要使用vi的語(yǔ)法彩色,需要把termtype設(shè)置為
? ?? ???xterm-color,或者$ export TERM=xterm-color應(yīng)該也可以……?
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ??
本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/24174/showart_175131.html
轉(zhuǎn)載于:https://www.cnblogs.com/skl374199080/p/3879191.html
總結(jié)
以上是生活随笔為你收集整理的vi常用命令与设置(不断修改中)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hdu-1874
- 下一篇: 6月共处理钓鱼网站8186个:非CN域名