歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> linux基礎之vim編輯器使用技巧

linux基礎之vim編輯器使用技巧

日期:2017/3/3 12:55:46   编辑:Linux技術

打開文件時指定默認光標的位置

直接數字指定

[code]vim +n file    -- n:指定光標在哪一行
例:

[code][root@iZ28g26851kZ ~]# vim +10 /etc/inittab

打開文件處在文件尾部

+號後不加任何參數,代表定位光標到文件尾部

[code][root@iZ28g26851kZ ~]# vim + /etc/inittab

模式匹配

打開文件,定位到第一個次被匹配到的行

[code]vim +/PATTERN file

vim模式

編輯模式(命令模式)

輸入模式(插入模式)

末行模式

模式轉換

編輯–>輸入
[code]i: 在當前光標所在字符的前面,轉為輸入模式;
a: 在當前光標所在字符的後面,轉為輸入模式;
o: 在當前光標所在行的下方,新建一行,並轉為輸入模式;

I:在當前光標所在行的行首,轉換為輸入模式
A:在當前光標所在行的行尾,轉換為輸入模式
O:在當前光標所在行的上方,新建一行,並轉為輸入模式;

輸入–>編輯

[code]ESC
編輯–>末行

[code]:
末行–>編輯

[code]ESC, ESC

關閉文件

在末行模式關閉文件

[code]:q  退出
:wq 保存並退出
:q! 不保存並退出
:w 保存
:w! 強行保存  --管理員才行
:wq --> :x   -- x和wq功能相同

編輯模式下退出

[code]ZZ: 保存並退出

移動光標(編輯模式)

[code]1、逐字符移動:
    h: 左
    l: 右
    j: 下
    k: 上
    #h: 移動#個字符;

2、以單詞為單位移動
    w: 移至下一個單詞的詞首
    e: 跳至當前或下一個單詞的詞尾
    b: 跳至當前或前一個單詞的詞首

    #w: 

3、行內跳轉:
    0: 絕對行首
    ^: 行首的第一個非空白字符
    $: 絕對行尾

4、行間跳轉
    #G:跳轉至第#行;
    G:最後一行

    末行模式下,直接給出行號即可

翻屏

[code]Ctrl+f: 向下翻一屏
Ctrl+b: 向上翻一屏

Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏

刪除單個字符

[code]x: 刪除光標所在處的單個字符
X: 刪除光標所在處的前一個字符
#x: 刪除光標所在處及向後的共#個字符

刪除命令 d

[code]d命令跟跳轉命令組合使用;
#dw, #de, #db

dd: 刪除當前光標所在行
#dd: 刪除包括當前光標所在行在內的#行;
d$:刪除當前光標到行的末尾
=============================================
末行模式下:
StartADD,EndADDd
.: 表示當前行  
$: 最後一行    --  :.,$d   (刪除當前行到最後一行)
+#: 向下的#行  --  :.,+4d  (刪除當前行和向下的4行,共5行)

粘貼命令 p

[code]p: 如果刪除或復制為整行內容,則粘貼至光標所在行的下方,如果復制或刪除的內容為非整行,則粘貼至光標所在字符的後面;
P: 如果刪除或復制為整行內容,則粘貼至光標所在行的上方,如果復制或刪除的內容為非整行,則粘貼至光標所在字符的前面;

復制命令 y

用法同d命令

修改 c

先刪除內容,再轉換為輸入模式

用法同d命令

替換 r

[code]r#:將光標所在字符替換為任意字符#  --指定單字符替換
R:直接進入替換模式

撤消編輯操作 u

[code]u:撤消前一次的編輯操作
    連續u命令可撤消此前的n次編輯操作
#u: 直接撤消最近#次編輯操作

撤消最近一次的撤消操作:Ctrl+r

重復前一次編輯操作

[code].

可視化模式

[code]v: 按字符選取
V: 按矩形選取

查找(末行模式)

[code]/PATTERN:從當前行向下匹配查找
?PATTERN:從當前行向上匹配查找
n:將光標移動到上一個匹配到字符
N:將光標移動到下一個匹配到字符

查找並替換(末行模式)

使用s命令

[code]ADDR1,ADDR2s@PATTERN@string@gi
1,$
%:表示全文
=====================
例:
:1,$s@[a-z]@#@gi  --將所有的字母替換為#號
:%s@[a-z]@#@gi    --將所有的字母替換為#號
g:表示匹配到的全部替換
i:表示忽略大小寫

顯示行號(末行模式)

[code]:set nu
:set number
取消
:set nonu

自動縮進(末行模式)

[code]:set autoindent
:set ai
取消
:set noai

查找文本語法高亮(末行模式)

[code]高亮顯示
:set hlsearch
取消高亮
:set nohlsearch

語法高亮(末行模式)

[code]:syntax on
取消高亮
:syntax off

vim配置文件

要想某些修改永久有效,就需要放在配置文件中

配置文件位置

[code]/etc/vimrc

Copyright © Linux教程網 All Rights Reserved