Vim/Vi的使用
?Vim 是vi的加強
Gvim圖形化的vim
Vim/Vi簡介
Vim/Vi是一個功能強大的全屏幕文本編輯器,是Linux/Unix上最常用的文本編輯器,他們 的作用是建立,編輯,顯示文本文件
Vim/Vi沒有菜單,只有命令
本節(jié)介紹的Vim/vi主要作用在查看修改一些配置文件,或編寫自己得腳本。
?
Vim/Vi工作模式
?
?
進入時是命令模式,按下的東西都是命令,按i,a,o進入插入模式,按esc回到命令模式
:加上命令就是編輯模式,執(zhí)行完之后自動回到命令模式。
?
插入命令
?????命令 ??????作用
?????a ?????????在光標后附加文本
?????A ?????????在本行行末附加文本
?????i ??????????在光標前插入文本
?????I ??????????在本行開始出插入文本
?????o ??????????在光標下插入新行
?????O ?????????在光標上插入新行
?
定位命令
命令 ???????????????????作用
h,方向左鍵 ????????????左移一個字符
j,方向下鍵 ?????????????下移一行
k,方向上鍵 ????????????上移一行
l,方向右鍵 ?????????????右移一個字符
$ ???????????????????????移至行尾
0 ??????????????????????移至行首
H ??????????????????????移至屏幕上端
L ???????????????????????移至屏幕下端
M ? ? ? ? ? ? ? ? ? ? ?移至屏幕中間?
定位命令
???命令 ???????????????作用
???:set ?nu ???????????設置行號
???:set ?nonu ?????????取消行號
???gg ??????????????????到第一行
???G ???????????????????到最后一行
???nG ??????????????????到第nhang
???:n ?????????????????到第n行
?
刪除命令
命令 ????????????????作用
x ???????????????????刪除光標所在處的字符
nx ??????????????????刪除光標所在處后的n個字符
dd ??????????????????刪除光標所在的行,ndd刪除n行
dG ??????????????????刪除光標所在行到末尾的內容
D ???????????????????刪除從光標所在處到行尾
:n1 ,n2 d ??????????刪除指定范圍的行 ?????
?
復制和剪切命令
?
命令 ????????作用
yy,Y ?????????復制當前行
nyy,nY ???????復制當前行以下n行
dd ??????????剪切當前行
ndd ?????????剪切當前行以下n行
p,P ?????????粘貼在當前光標所在行下或行上
?
替換和取消命令
命令 ????????作用
r ????????????取代光標所在處字符,按r再鍵入字符便可替換
R ????????????從光標所在處替換字符,按ESC結束
u ????????????取消上一步操作
?
搜索和替換命令
命令 ??????????????作用
/string ?????????????向前搜索指定字符串,搜索時忽略大小寫:set ?ic ,不忽略:set noic
n ?????????????????搜索指定字符串的下一個出現位置N從后往前找
:%s/old/new/g ?????全文替換指定字符串
:n1,n2s/old/new/g ??在一定范圍內替換指定字符串
將g換成c則會詢問y(替換光標當前)n(不替換)a(替換所有)q(退出)
?
:wq ?保存退出
ZZ=:wq ??都是保存退出
只有文件的所有者和管理員root可以對文件進行強行保存退出:wq!。及時沒有寫權限。
Linux下要注意特殊的用戶root,很多規(guī)則限定對管理員root都是無效的。
不保存退出 :q!
:w保存
:w ?文件 ?寫入某文件
?
?
應用實例
?
在打開的文件中導入已存在的文件: ?:r ???文件名
在Vi中執(zhí)行命令: ???????????????????:! 命令
?
在用Vi編輯文件時通常要留下注釋,版權信息等等
?
:r 和 :! 可以同時使用
?
:r ?!date ?????????????將當前系統時間導入文件,就是導入命令的結果
?
shell腳本,linux配置文件#代表注釋
?
定義快捷鍵:map ?快捷鍵 ?觸發(fā)命令
范例: :map ?^p I#<ESC> ??????ctrl+p行首加#
???????:map ?^B 0x
^ ?ctrl+v ctrl+p ??ctrl+v+p ?p改變 ?v不變
???????:map ^B 0x ??????????ctrl+B 刪除本行首字符
???????:map ^E i1759471147@qq.com??ctrl+E 在光標前插入1759471147@qq.com ?
?
連續(xù)行注釋: ?:n1,n2s/^/#/g ???????^表示行首,添加的符號為#
??????????????:n1,n2s /#//g ???????????將n1-n2的#替換為空
??????????????:n1,n2/^#//g ??將n1-n2的行首的#替換為空
??????????????:n1,n2s/^/\/\//g ?有些語言的注釋是//,而/是分隔符,此時需使用到轉義字符\,意為使用命令或符號的本身含義。
?
替換命令:
???????實例:
???????:ab: ?mymail ?1759471147@qq.com
輸入mymail后按回車或空格會自動替換成1759471147@qq.com
:unab mymail 取消定義
:unmap ^P ???取消快捷鍵定義
若要想使這些配置永久有效,則需要編輯vi的配置文件。
在linux下每一個用戶都有一個宿主目錄,也稱之為家目錄.用波浪號代表宿主目錄。
~ /home/用戶名 ??~ ?/root
如果創(chuàng)建一個新用戶,則缺省創(chuàng)建一個宿主目錄,默認是在 /home/用戶名.
而root 是在/root下。
而vim的配置文件是在用戶宿主目錄下的.vimrc
vi ?/root/.vimrc
vi ?~/.vimrc
可以再里邊寫入快捷鍵,一些設置。以后再打開文件是有效的。 ???
:可以不加。
?
?
知識點總結:
Vim/Vi工作模式 ?如何切換,命令屬于那種模式
Vim/Vi基本使用
???????插入,定位,刪除,復制,剪切,替換
???????取消,搜索,保存,退出
Vim/Vi應用技巧
練習:
熟悉Vim/vi工作模式切換
熟悉Vim/Vi常用操作
練習Vim/Vi定義快捷鍵,連續(xù)行操作,導入命令執(zhí)行結果等技巧
設定Vim/Vi配置文件
轉載于:https://www.cnblogs.com/invisible2/p/7068229.html
總結
- 上一篇: confluence的一次管理员密码
- 下一篇: 修改类别(类写法)