ubuntu下vi/vim 的基本使用法
1 簡介
vim是文本編輯器。代碼補(bǔ)完、編譯及錯(cuò)誤跳轉(zhuǎn)等方便編程的功能特別豐富,在程序員中被廣泛用。下面講述少量必要的基本命令,而掌握好這些命令,您就能夠很容易將vim當(dāng)作一個(gè)通使用的萬能編輯器來用了。
vim自帶基礎(chǔ)教程:在任意一臺(tái)裝有vim的機(jī)器上,命令行中輸入vimtutor 而后即可以看到文檔了。另外網(wǎng)上也有很多例子如:http://blog.csdn.net/niushuai666/article/details/7275406
2 基本命令
包含vim的基本詳情、用模式、文件的打開關(guān)閉保存、插入文本或者新建行、移動(dòng)光標(biāo)、刪除、恢復(fù)字符或者行、搜索等等。
vim有3個(gè)模式:插入模式、命令模式、低行模式。
插入模式:在此模式下可以輸入字符,按ESC將回到命令模式。
命令模式:可以移動(dòng)光標(biāo)、刪除字符等。
低行模式:可以保存文件、退出vi、設(shè)置vi、查找等功能(低行模式也可以看作是命令模式里的)。按shift + : 進(jìn)入插入模式
2.1 打開文件、保存、關(guān)閉文件(vim命令模式下用), // 是注釋的意思
vi filename //打開filename文件
:w //保存文件
:w cszhi.com //保存至cszhi.com文件
:q //退出編輯器,假如文件已修改請用下面的命令
:q!//退出編輯器,且不保存
:wq //退出編輯器,且保存文件
2.2 插入文本或者行(vim命令模式下用,執(zhí)行下面命令后將進(jìn)入插入模式,按ESC鍵可退出插入模式進(jìn)入底行模式
a //在當(dāng)前光標(biāo)位置的右邊增加文本
i //在當(dāng)前光標(biāo)位置的左邊增加文本
A //在當(dāng)前行的末尾位置增加文本
I //在當(dāng)前行的開始處增加文本(非空字符的行首)
O //在當(dāng)前行的上面新建一行
o //在當(dāng)前行的下面新建一行
R //替換(覆蓋)當(dāng)前光標(biāo)位置及后面的若干文本
J //合并光標(biāo)所在行及下一行為一行(仍然在命令模式)
2.3 移動(dòng)光標(biāo)(vim命令模式下用)
①用上下左右方向鍵
②命令模式下:
h 向左、j 向下、k 向上、l 向右。
空格鍵向右、Backspace向左、Enter移動(dòng)到下一行首、-移動(dòng)到上一行首。
2.3 刪除、恢復(fù)字符或者行(vim命令模式下用)
x //刪除當(dāng)前字符
nx //刪除從光標(biāo)開始的n個(gè)字符
dd //刪除當(dāng)前行
ndd //向下刪除當(dāng)前行在內(nèi)的n行
u //撤銷上一步操作
U //撤銷對當(dāng)前行的所有操作
2.4 搜索(vim命令模式下用)
/cszhi //向光標(biāo)下搜索cszhi字符串
?cszhi //向光標(biāo)上搜索cszhi字符串
n //向下搜索前一個(gè)搜素動(dòng)作
N //向上搜索前一個(gè)搜索動(dòng)作
2.5 跳至指定行(vim底行模式下用)
n+//向下跳n行
n-//向上跳n行
nG //跳到行號(hào)為n的行
G //跳至文件的底部
2.6 設(shè)置行號(hào)(vim命令模式下用)
:set nu //顯示行號(hào)
:set nonu //取消顯示行號(hào)
2.7 復(fù)制、粘貼(vim命令模式下用)
yy //將當(dāng)前行復(fù)制到緩存區(qū),也可以使用 "ayy 復(fù)制,"a 為緩沖區(qū),a也可以替換為a到z的任意字母,可以完成多個(gè)復(fù)制任務(wù)
nyy //將當(dāng)前行向下n行復(fù)制到緩沖區(qū),也可以使用 "anyy 復(fù)制,"a 為緩沖區(qū),a也可以替換為a到z的任意字母,可以完成多個(gè)復(fù)制任務(wù)
yw //復(fù)制從光標(biāo)開始到詞尾的字符
nyw //復(fù)制從光標(biāo)開始的n個(gè)單詞
y^ //復(fù)制從光標(biāo)到行首的內(nèi)容
y$ //復(fù)制從光標(biāo)到行尾的內(nèi)容
p //粘貼剪切板里的內(nèi)容在光標(biāo)后,假如用了前面的自己設(shè)置緩沖區(qū),建議用"ap 進(jìn)行粘貼
P //粘貼剪切板里的內(nèi)容在光標(biāo)前,假如用了前面的自己設(shè)置緩沖區(qū),建議用"aP 進(jìn)行粘貼
2.8 替換(vim命令模式下用)
:s/old/new//使用new替換行中初次出現(xiàn)的old
:s/old/new/g //使用new替換行中所有的old
:n,m s/old/new/g //使用new替換從n到m行里所有的old
:%s/old/new/g //使用new替換當(dāng)前文件里所有的old
2.9 編輯其余文件
:e otherfilename //編輯文件名為otherfilename的文件
2.10 修改文件格式
:set fileformat=unix //將文件修改為unix格式,如win下面的文本文件在linux下會(huì)出現(xiàn)^M
2.11 查看當(dāng)前行信息(vim命令模式下用)
ctrl+g
2.10 跳轉(zhuǎn)到制定行(vim命令模式下用)
number + shift + g假如沒有輸入number則跳轉(zhuǎn)到末尾。1+shit+g行首。
2.11 vim 取消 查找 高亮
:set hlsearch "打開高亮搜索
:set nohlsearch "關(guān)閉高亮搜索
:nohl "只取消掉當(dāng)前的搜索高亮
2.12 滾屏
ctrl+u\d 向上\下滾動(dòng)半屏
ctrl+e\y 向上\下滾動(dòng)一行
ctrl+b\f 向上\下滾動(dòng)一屏
2.13 移動(dòng)
b、3b、w、3w:向前\后移動(dòng)幾個(gè)單詞,標(biāo)點(diǎn)也算一個(gè)單詞。相應(yīng)的大寫狀態(tài)為不含標(biāo)點(diǎn),即只把空格和換行符作為單詞間隔符。
(shift+4):移動(dòng)到行尾3(shift+4):移動(dòng)到行尾 3(shift+4):移動(dòng)到行尾3:移動(dòng)到3行后的行尾
0 行首有空格
^(shift+6):移動(dòng)到行首,
+:移到下一行的行首
-: 移到上一行的行首
2.14 折疊
命令小結(jié)zc關(guān)閉當(dāng)前打開的折疊zo打開當(dāng)前的折疊zm關(guān)閉所有折疊zM關(guān)閉所有折疊及其嵌套的折疊zr打開所有折疊zR打開所有折疊及其嵌套的折疊zd刪除當(dāng)前折疊zE刪除所有折疊zj移動(dòng)至下一個(gè)折疊zk移動(dòng)至上一個(gè)折疊zn禁使用折疊zN啟使用折疊
2.15 函數(shù)折疊(命令模式)
zf
shift+%
2.16 代碼格式化
#格式化全文
gg=G
#自動(dòng)縮進(jìn)當(dāng)前行
==
#格式化當(dāng)前光標(biāo)接下來的10行
10=j
#格式化當(dāng)前光標(biāo)向上的10行
10=k
#格式化選定的行
v(向上下選擇)
=
#命令解釋
gg #跳轉(zhuǎn)到文件首行
= #應(yīng)使用縮進(jìn)格式
G #直到文件結(jié)束
2.17 在函數(shù)中移動(dòng)光標(biāo)(命令模式)
[{ 轉(zhuǎn)到上一個(gè)位于第一列的"{"
}] 轉(zhuǎn)到下一個(gè)位于第一列的"{"
{ 轉(zhuǎn)到上一個(gè)空行
} 轉(zhuǎn)到下一個(gè)空行
gd 轉(zhuǎn)到當(dāng)前光標(biāo)所指的局部變量的定義
* 轉(zhuǎn)到當(dāng)前光標(biāo)所指的單詞下一次出現(xiàn)的地方
# 轉(zhuǎn)到當(dāng)前光標(biāo)所指的單詞上一次出現(xiàn)的地方
轉(zhuǎn)自:程序員小新人學(xué)習(xí)
總結(jié)
以上是生活随笔為你收集整理的ubuntu下vi/vim 的基本使用法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS 7 + Hadoop3 伪
- 下一篇: Ubuntu没有chkconfig服务解