vim 文本編輯器
vi 簡介
vi命令是UNIX操作系統和類UNIX操作系統中最通用的全屏幕純文本編輯器。Linux中的vi編輯器叫vim,它是vi的增強版(vi Improved),與vi編輯器完全兼容,而且實現了很多增強功能。
vi編輯器支持編輯模式和命令模式,編輯模式下可以完成文本的編輯功能,命令模式下可以完成對文件的操作命令,要正確使用vi編輯器就必須熟練掌握著兩種模式的切換。默認情況下,打開vi編輯器后自動進入命令模式。從編輯模式切換到命令模式使用“esc”鍵,從命令模式切換到編輯模式使用“A”、“a”、“O”、“o”、“I”、“i”鍵。
其他編輯器:
gedit
一個簡單的圖形編輯器
gvim
一個 Vim 編輯器的圖形版本
打開文件
vim [OPTION]... FILE...
+#
: 打開文件后,直接讓光標處于第# 行的行首 +/ PATTERN
:打開文件后,直接讓光標處于第一個被
PATTERN 匹配到的行的行首 vim + file
直接打開file, 光標在 最后一行 vim –b file
二進制方式打開文件 vim –d file1 file2
… 比較多個文件 vim -m file
只讀打開文件 ex file
或 或 vim –e
直接進入ex
模式
如果該文件存在,文件被打開并顯示內容
如果該文件不存在,當編輯后第一次存盤時創建它
vim模式
vim 編輯器模式切換:
三種主要模式:命令模式
、插入(編輯)模式
、編輯模式
命令模式(默認):移動光標,剪切/ 粘貼文本
插入(編輯)模式:修改文本
編輯模式 :保存,退出等
模式轉換
命令模式 –> 插入模式 i: insert
, 在光標所在處輸入 I
:在當前光標所在行的行首 輸入 a: append
, 在光標所在處后面輸入 A
:在當前光標所在行的行尾 輸入 o
: 在當前光標所在行的下方打開一個新行 O
: 當前光標所在行的上方打開一個新行 x
:向后刪除一個字符 X
:向前刪除一個字符 del
u
:撤銷一步 esc
: 退出當前模式
插入模式 ----> 命令模式
ESC
式 命令模式 ----> 擴展 模式
:
擴展式 模式 ----> 命令模式
ESC
鎖定和解鎖:CTRL+s,Ctrl+q
vim中定位到某行:
gg
定位到行首 G
定位到最后一行,行首 #G
定位到某一行 :#
定位到某一行 #gg
定位到某一行 #
代表行號
行操作
home
鍵或^
行首 $
行尾 end
鍵 dd
刪除一行Ndd
yy
復制一行 Nyy
復制N行 p
將復制行粘貼 P
上粘
擴展:剪切 先刪除
,再粘貼
刪除到行首 d + HOME
或^
刪除到行尾 d + END
或$
詞操作
dw
刪除一個詞,刪除時要將光標移動到這個詞的行首。 另外,如果光標不在行首,則刪除光標之后的字母。 yw
復制一個詞 w
切換單詞
塊操作
大D
或d+$
刪至行尾 d+^
刪至行首 y+$
復制至尾 y+^
復制至首
命令模式光標跳轉
字符間跳轉: h
: 左 左 l
: 右 右 j
: 下 下 k
: 上 上 #COMMAND
:跳轉由# 指定的個數的字符;
單詞間跳轉: w
:下一個單詞的詞首 e
:當前或下一單詞的詞尾 b
:當前或前一個單詞的詞首 #COMMAND
:由# 指定一次跳轉的單詞數
當前頁跳轉: H
:頁首 M
:頁中間行 L
: 頁底
v 模式(可視化模式)
進入v模式 移動光標選擇區域、
編程的時候需要進行多行注釋:
1、注釋:
ctrl+v
進入列編輯模式
2、向下或向上移動光標
3、把需要注釋的行的開頭標記起來
4、然后按大寫的I
5、再插入注釋符,比如"#"
。
6、再按Esc
,就會全部注釋了。
刪除多行注釋:
刪除:再按ctrl+v
進入列編輯模式;向下或向上移動光標 ;選中注釋部分,然后按d
, 就會刪除注釋符號。
替換
:%s/this/that
每一行的第一個this
被替換成that
:%s/this/that/g
將文本中所有的this
替換成that
:2,5 s/sbin/666/g
#替換第二行到第五行中sbin
:set nu/nonu
#顯示行號
/ 正向查找 :/target n
往下查找,N
往上查找
去消高亮顯示: noh
或 隨便查找一組沒有的字符
:!ifconfig
調用系統命令
擴展模式
按“: ”
進入Ex 模式
創建一個命令提示符:, 處于底部的屏幕左側
命令: w
寫(存)磁盤文件 wq
寫入并退出 x
寫入并退出 q
退出 q!
不存盤退出,即使更改都將丟失 r filename
讀文件內容到當前文件中 w filename
將當前文件內容寫入另一個文件 !command
r!command
讀取其他文件(實例)
:r ./sshd_config.bak
關閉文件
擴展模式: :q
退出 :q
! 強制退出,丟棄做出的修改 :wq
保存退出 :x
保存退出
命令模式 ZZ:
保存退出 ZQ
:不保存退出
自定義vim的工作特性
[root@localhost ~]# vim ~/.vimrc
輸入:set nu
set history=10
配置文件:永久有效
全局:/etc/vimrc
個人:~/.vimrc
擴展模式:當前vim 進程有效
(1) 行號
顯示:set number, 簡寫為set nu
取消顯示:set nonumber, 簡寫為set nonu
(2) 括號成對匹配
匹配:set showmatch, 簡寫為set sm
取消:set nosm
(3) 自動縮進
啟用:set ai
禁用:set noai
(4) 高亮搜索
啟用:set hlsearch
禁用:set nohlsearch
(5) 語法高亮
啟用:syntax on
禁用:syntax off
(6) 忽略字符的大小寫
啟用:set ic
不忽略:set noic
(7) 文件格式
啟用: :fileformat=unix
不忽略: : fileformat=dos
(8) 設置文本寬度
:set textwidth=65 (vim only)
:set wrapmargin=15
:help option-list
:set or :set all
set wrapmargin=1
編輯二進制文件
以二進制方式打開文件
vim –b binaryfile
擴展命令模式下,利用xxd 命令轉換為可讀的十六進制 :%!xxd
編輯二進制文件
擴展命令模式下,利用xxd 命令轉換回二進制 :%!xxd –r
保存退出
vim打開多個文件:使用多個“窗口”
[root@localhost ~]# vim -O /etc/passwd /etc/hosts
ctrl+WW
在文件之間進行切換多文件分割
vim -o|-O FILE1 FILE2 ...
-o
: 水平分割 -O
: 垂直分割
在窗口間切換:Ctrl+w
, Arrow
單文件窗口分割: Ctrl+w,s
: split, 水平分割 Ctrl+w,v
: vertical, 垂直分割 ctrl+w,q
:取消相鄰窗口 ctrl+w,o:
取消全部窗口 : wqall
退出
原創文章,作者:M20_he,如若轉載,請注明出處:http://www.www58058.com/36325