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