⑴ 5. linux的vi/vim使用及常用快捷鍵
命令行下,輸入vim xxx.c就會進入vim一般模式,並開始編輯這個xxx.c的文件。
使用vim xxx.c就會默認進入vim一般模式。
在一般模式下,按下i鍵就會進入編輯模式,也稱INSERT MODE(插入模式)。
編輯模式中,按ESC鍵會退出編輯模式回到一般模式。
按下:鍵就會進入命令模式。
按下ESC鍵回到一般模式。
命令模式下,輸入
:wq 這個命令再按回車鍵就會保存並退出vim(write and quit)
:q 退出vim(不會保存)
:q! 強制退出vim(不會保存)
yy 拷貝當前行
5yy 拷貝當前行及下面一共5行
p 粘貼
dd 刪除當前行
4dd 刪除當前行及下面一共4行
G 定位到最後一行
gg 定位到第一行
快速定位到指定行號:輸入一個數字然後按下G(shift+g)
u 撤銷前一個操作
/xx 按下回車就會在文件中查找xx,查到會高亮第一個字元,按n會查找下一個xx
:set nu 顯示行號
:set nonu 取消顯示行號
⑵ Linux下vim編輯器命令大全
vim可以分為三種狀態,分別是 命令行模式(command mode) 、 輸入模式(Insert mode) 和 底行模式(last line mode) ,這 3 種工作模式可隨意切換,如下圖所示。
使用vim編輯文件時,默認處於命令行模式。此模式下,可使用方向鍵(上、下、左、右鍵)或 k、j、h、i 移動游標的位置,還可以對文件內容進行復制、粘貼、替換、刪除等操作。
下圖所示是vim處於命令行模式的狀態示意圖。
在輸入模式下,vim可以對文件執行寫操作,類似於在Windows系統的文檔中輸入內容。
使vim進行輸入模式的方式是在命令模式狀態下輸入 i 、 I 、 a 、 A 、 o 、 O 等插入命令(各指令的具體功能下表所示),當編輯文件完成後按 esc 鍵即可返回命令模式。
下圖所示為vim處於輸入模式模式下的示意圖。
底行模式用於對文件中的指定內容執行保存、查找或替換等操作。
使vim切換到底行模式的方法是在 命令行模式 狀態下按 : 鍵(注意是英文符號),此時vim窗口的左下方出現一個 : 符號,這是就可以輸入相關指令進行操作了。
指令執行後vim會自動返回命令行模式。如想直接返回命令行模式,按 esc 即可。
下圖所示為vim進入底行模式後的狀態。
對於新手來說,經常不知道自己處於什麼模式。不論是自己忘了,還是不小心切換了模式,都可以按一次 esc 鍵返回命令行模式。如果你多按幾次 esc 鍵後聽到"嘀————"的聲音,則代表你已經處於命令行模式了。
打開文件
打開文件時游標處於文件尾部
打開文件時,游標定位到第幾行
字元移動
這些移動鍵都可以加上數字(5h:向左移動5個字元格)
單詞移動
行內跳轉
行間移動
在底行模式下,直接給出行號,實現跳轉
用法:起始地址,結束地址 s @要替換內容@替換後內容@gi(@分隔符)
例 :1,$s/a/A/g 把文件中全部的a換替換成A,全局替換
顯示取消行號
設定自動縮進(寫腳本時)
查找到的文本高亮顯示
語法高亮
/etc/vimrc :全局配置文件,永久有效
~/.vimrc :個人配置文件,每個用戶的家目錄中,若不存在,手動創建
對於第一次用vim的童鞋,有幾點需要提醒一下:
⑶ linux下vim 查找命令
linux下vim查找命令:
/text--查找text,按n查找下一個,N查找上一個
?text--查找text(反向查找),按n查找下一個,N查找上一個
*/#--查找游標當前的單詞,相當於/text
:setignorecase--查找忽略大小寫
:setnoignorecase--查找不忽略大小寫
:nohlsearch--關閉當前的高亮顯示,當再次查找時恢復高亮
:setincsearch--逐步搜索模式,對當前鍵入的字元進行查找,不必等輸入完成
:setwrapscan--重新搜索,當搜索到文件頭或尾時,返回重新搜索
(3)linuxvim命令擴展閱讀:
1、文件窗口:
:openfile--在當前窗口打開新文件
:splitfile--在新窗口打開文件
:newfile--用新窗口打開文件,同:splitfile
:bn--切換到下一個文件
:bp--切換到上一個文件
:args--查看當前打開的文件列表(當前正在編輯的文件會用[]括起來)
:eftp://192.168.10.76/abc.txt
:eqadriveest.txt--打開遠程文件
:split--打開一個新窗口,游標停在頂層的窗口上
:new--打開一個新窗口,游標停在頂層的窗口上
:vsplit--橫向打開窗口。
Ctrl+ww--移動到下一個窗口
Ctrl+wj--移動到下方的窗口
Ctrl+wk--移動到上方的窗口
2、其他命令:
Esc/Ctrl+[--鍵入命令
:!command--執行shell命令
:suspend/Ctrl+Z--掛起vim,回到shell,fg返回vim
:!perl-cscript.pl--檢查perl腳本語法,不用退出vim
:!perlscript.pl--執行perl腳本,不用退出vim
:help--顯示幫助文檔
:helpi--顯示i的幫助文檔(:特殊鍵用<>,-t:啟動參數用-)
3、編輯命令:
插入:
i--在當前位置插入
A--在當前行尾插入
I--在當前行首插入
o--在當前行後插入一行
O--在當前行前插入一行
拷貝粘貼剪切:
yy--拷貝當前行
2yy--拷貝當前行開始的2行
p--在當前游標後粘貼
P--在當前行前粘貼
:1,10co20--將1-10行插入到第20行之後。
:1,$co$--將整個文件復制一份並添加到文件尾部
v--進入選擇模式,相當於在Windows下按住Shift選擇
V--進入選擇模式,整行選擇
ddp--交換當前行和其下一行
2dd--剪切當前行之後的2行
:1,10d--將1-10行剪切
:1,10m20--將第1-10行移動到第20行之後
替換:
ra--將當前游標所在字元替換為a
s/old/new/--用old替換new,替換當前行的第一個匹配
s/old/new/g--用old替換new,替換當前行的所有匹配
%s/old/new/--用old替換new,替換所有行的第一個匹配
%s/old/new/g--用old替換new,替換所有匹配
:10,20s/^/text/g--在第10行到第20行每行前面加上text(:3,5s/^/#/g--注釋3-5行,:3,5s/^#//g
--解除3-5行的注釋,:1,$s/^/#/g--注釋整個文檔,:%s/^/#/g--注釋整個文檔)
ddp--交換游標所在行和下一行
移動:
h--左移一個字元(5h--左移5個字元)
l--右移一個字元(5l--右移5個字元)
k--上移一個字元(5k--上移5個字元)
j--下移一個字元(5j--下移5個字元)
w--向後移動一個單詞(5w--向後移動5個單詞)
b--向前移動一個單詞(5b--向前移動5個單詞)
e--同w,游標停在單詞尾部
ge--同e,游標停在單詞尾部
^--移動到本行第一個非空白字元
0--移動到本行第0個字元
--同0
$--移動到行尾(3$--移動到下面3行的行尾)
gg--移動到文件頭(10gg--移動到第10行首)
[[--同gg
G--移動到文件尾(10G--移動到第10行尾)
]]--同G
fx--移動到本行游標後第一個為x的字元(3fx--移動到本行游標後第3個為x的字元)
Fx--同fx,反向查找
:20--跳到20行行首
Ctrl+e--向下滾動一行
Ctrl+y--向上滾動一行
Ctrl+d--向下滾動半屏
Ctrl+u--向上滾動半屏
Ctrl+f--向下滾動一屏
Ctrl+b--向上滾動一屏
撤銷:
u--撤銷
U--撤銷對整行的操作
Ctrl+r--撤銷剛才的撤銷
刪除:
x--刪除當前字元(3x--刪除當前游標開始向後三個字元)
X--刪除當前字元的前一個字元,同dh
dl--刪除當前字元,同x
dh--刪除前一個字元
dd--刪除當前行
dj--刪除上一行
dk--刪除下一行
10d--刪除當前行開始的10行。
D--刪除當前字元至行尾,同d$
kdgg--刪除當前行之前所有行(不包括當前行)
:1,10d--刪除1-10行
:11,$d--刪除11行及以後所有的行
:1,$d--刪除所有行
J--刪除兩行之間的空行,合並兩行
退出
:wq--保存並退出
ZZ--保存並退出
:q!--強制退出並忽略所有更改
:e!--放棄所有修改,並打開原來文件
:close--關閉窗口,最後一個窗口不能使用此命令,可以防止意外退出vim
:q--如果是最後一個被關閉的窗口,那麼將退出vim
⑷ Linux知識點之Vim
進入vim編輯器
命令模式: 在這種模式下,可以通過輸入vi的命令對文件的內容就行處理(復制,刪除,移動等),也可以通過按游標來移動游標
編輯模式: 在這種模式下,可以在游標處輸入內容
命令項模式: 在命令模式下,用戶輸入冒號後,游標會跳到底行,然後輸入命令
命令模式: 輸入a A i I o O等命令 -> 編輯模式
編輯模式: 按ESC鍵 -> 命令模式
命令項模式: 輸入冒號 -> 命令項模式
i 在游標前插入
a 當前位置編輯
A 快速到達行尾並進入編輯模式
O 在當行上面插入一個空行並進入編輯模式
o 在當行下面插入一個空行並進入編輯模式
第一行 gg
最後一行 G
移動到100行 100gg
x: 刪除游標處的字元 X:刪除游標前的一個字元
d0: 刪除游標所在行的第一個字元到當前游標的前一個字元的一串字元
D: 刪除從當前游標所在字元到當前游標所在行的最後一個字元的一串字元
dd: 刪除游標所在行的所有字元/剪切當前行
dw: 刪除從游標處字元開始的第一個單詞
u: 撤銷命令,一步一步撤銷
跳轉末行 G
跳轉首行 gg 跳轉到第一行
跳轉行首 I (大寫字母)
跳轉行末 快速到達行尾並進入編輯模式
下一行插入 o(小寫字母o)
復制五行 5yy
刪除10行 10dd
:w 保存文件 不退出vi :wq 保存文件,退出vi :q! 不保存文件,退出vi
⑸ linux之vi,vim命令
vim 是對 vi 的擴展,文中的很多操作是 vi 通用的
vi 是 區分大小寫 的命令的,也就是說 g與G 是不同的命令
在不同模式下,快捷鍵是不一樣的 模式分 一般模式 編輯模式 指令模式
一般模式用於文件內部操作,編輯模式用於輸入編寫等,指令模式用於對文本文件進行操作
下面的選項值不變,但卻被禁用
綁定快捷鍵來激活 / 取消 paste 模式
出現粘貼換行符錯位,設置一下 .vimrc
顯示所有寄存器內容
原文鏈接:https://rumenz.com/rumenbiji/linux-vi-vim.html
⑹ Linux中vi、vim命令大全
一、一般模式:刪除、復制與粘貼類命令
x,X
x為向後刪除一個字元,X為先前刪除一個字元
nx(n代表數字)
向後刪除n個字元
dd
刪除當前行
D
刪除當前行所有字元,試成為空行
ndd(n代表數字)
刪除游標所在行的向下n列
d1G
刪除游標所在行到第一行的所有數據
dG
刪除游標所在行到最後一行的所有數據
yy
復制游標所在行
y1G
復制游標所在行到第一行的所有數據
yG
復制游標所在行到最後一行的所有數據
ynj(n代表數字)
復制游標所在行向下n+1行
dnj(n代表數字)
刪除游標所在行向下n+1行
p,P
p為復制的數據粘貼在游標的下一行,P為復制的數據粘貼在游標的上一行
J
將游標所在行與下一行的數據結合成一行
u
恢復前一個動作(undo)
二、編輯模式命令
i,I
i為在當前游標所在處插入輸入的文字,I為在游標所在行第一個非空字元插入輸入的文字
a,A
a為在當前游標所在處下一個字元插入輸入的文字,A為在游標所在行最後一個字元的下一個字元處插入輸入的文字
o,O
o為在游標所在行的下一行行首開始插入字元,O為在游標所在行的上一行行首開始插入字元
r,R
r為替換游標所在那一個字元,R為一直替換游標所指的文字,直到退出
Esc
退出,回到一般模式
三、命令模式
h
游標向左移一個字元
j
游標向下移一個字元
k
游標向上移一個字元
l
游標向右移一個字元
Ctrl+f
屏幕向下翻一頁
Ctrl+b
屏幕向上翻一頁
Ctrl+d
屏幕向下翻半頁
Ctrl+u
屏幕向上翻半頁
+
游標移動到下一行的第一個非空字元
-
游標移動到當前行的第一個非空字元
n空格(n代表數字)
游標向當前行向右移動n個字元
0(數字0)
游標移動到當前行的第一個字元(可以為空字元,注意與-區分)
$
游標移動到當前行的最後一個字元(可以為空字元,注意與-區分)
H
游標移動到當前屏幕最上方的那一行的第一個非空字元
M
游標移動到當前屏幕最中間那一行的第一個非空字元
L
游標移動到當前屏幕最下方的那一行的第一個非空字元
G
游標移動到該文章最後一行的第一個非空字元
nG(n代表數字)
游標移動到該文章第n行的第一個非空字元
n
游標從當前行向下移動n行的第一個非空字元
/word
在游標之後查找word字元串
?word
在游標之前查找word字元串
:s/word1/word2/g
在游標當前行查找word1,並替換成word2
:n1,n2s/word1/word2/g
在第n1行與第n2行之間查找word1,並替換成word2
:%s/word1/word2/g
整個文章查找word1,並替換成word2
:w
將編輯的數據保存到硬碟文件中
:w
[filename]
將編輯後的數據保存到硬碟的另一個文件中
:r
[filename]
在編輯數據時,讀入另一個文件中的數據,即將filename文件中的內容加到游標所在行下一行
:wq或:x
保存並退出
:q
退出,適用於未修改的文件
:q!
強制退出,適用於修改文件後不保存退出
:set
nu
顯示行號
:set
nonu
取消行號
:n1,n2
w
[filename]
將n1到n2行的內容保存到名為filename的文件中
⑺ 「Linux」vim基礎操作
創建/打開文件
vim 目錄與文件名,當文件不存在時自動創建文件,寫入完成後需要:wq保存文件才會生成。
vim 文件路徑,即可編輯文件。
vim test.txt
vim /home/test.txt
模式切換
打開文件後i鍵進入輸入模式;
按Esc鍵退出輸入模式,進入命令模式;
所有":"開頭的命令,都需要進入命令模式執行;
保存文件
:wq保存文件並退出
關閉文件
:q關閉文件,:q!強制退出文件不保存。
搜索字元
:/需要搜索字元串;
如搜索PermitRootLogin
:/PermitRootLogin
⑻ linux中使用vi指令後怎麼輸入
以下是VI有關文件修改與保存的命令:x0dx0ax0dx0a插入命令x0dx0ax0dx0ai 在當前位置生前插入x0dx0ax0dx0aI 在當前行首插入x0dx0ax0dx0aa 在當前位置後插入x0dx0ax0dx0aA 在當前行尾插入x0dx0ax0dx0ao 在當前行之後插入一行x0dx0ax0dx0aO 在當前行之前插入一行x0dx0ax0dx0a查找命令x0dx0ax0dx0a/text查找text,按n健查找下一個,按N健查找前一個。x0dx0ax0dx0a?text查找text,反向查找,按n健查找下一個,按N健查找前一個。x0dx0ax0dx0avim中有一些特殊字元在查找時需要轉義.*[]^%/?~$x0dx0ax0dx0a:set ignorecase忽略大小寫的查找x0dx0ax0dx0a:set noignorecase不忽略大小寫的查找x0dx0ax0dx0a查找很長的詞,如果一個詞很長,鍵入麻煩,可以將游標移動到該詞上,按*或#鍵即可以該單詞進行搜索,相當於/搜索。而#命令相當於?搜索。x0dx0ax0dx0a:set hlsearch高亮搜索結果,所有結果都高亮顯示,而不是只顯示一個匹配。x0dx0ax0dx0a:set nohlsearch關閉高亮搜索顯示x0dx0ax0dx0a:nohlsearch關閉當前的高亮顯示,如果再次搜索或者按下n或N鍵,則會再次高亮。x0dx0ax0dx0a:set incsearch逐步搜索模式,對當前鍵入的字元進行搜索而不必等待鍵入完成。x0dx0ax0dx0a:set wrapscan重新搜索,在搜索到文件頭或尾時,返回繼續搜索,默認開啟。x0dx0ax0dx0a替換命令x0dx0ax0dx0ara 將當前字元替換為a,當期字元即游標所在字元。x0dx0ax0dx0as/old/new/ 用old替換new,替換當前行的第一個匹配x0dx0ax0dx0as/old/new/g 用old替換new,替換當前行的所有匹配x0dx0ax0dx0a%s/old/new/ 用old替換new,替換所有行的第一個匹配x0dx0ax0dx0a%s/old/new/g 用old替換new,替換整個文件的所有匹配x0dx0ax0dx0a:10,20 s/^/ /g 在第10行知第20行每行前面加四個空格,用於縮進。x0dx0ax0dx0addp 交換游標所在行和其下緊鄰的一行。x0dx0ax0dx0a移動命令x0dx0ax0dx0ah 左移一個字元x0dx0al 右移一個字元,這個命令很少用,一般用w代替。x0dx0ak 上移一個字元x0dx0aj 下移一個字元x0dx0a以上四個命令可以配合數字使用,比如20j就是向下移動20行,5h就是向左移動5個字元,在Vim中,很多命令都可以配合數字使用,比如刪除10個字元10x,在當前位置後插入3個!,3a!
⑼ Linux中的 VI/VIM的命令查詢
簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。 vim 則可以說是程序開發者的一項很好用的工具,就連 vim 的官方網站 ( http://www.vim.org ) 自己也說 vim 是一個『程序開發工具』而不是文字處理軟體~ _ 。你可以將 vim 視作 vi 的進階版本,vim 可以用顏色或底線等方式來顯示一些特殊的信息。
基本上 vi 共分為三種模式,分別是『一般指令模式』、『編輯模式』與『指令列命令模式』。 這 三種模式的作用分別是:一般指令模式 (command mode)、編輯模式 (insert mode)、指令列命令模式 (command-line mode)。
以 vi 打開一個文件就直接進入一般指令模式了(這是默認的模式,也簡稱為一般模式)。在這個模 式中, 你可以使用『上下左右』按鍵來移動游標,你可以使用『刪除字元』或『刪除整列』來處 理文件內容, 也可以使用『復制、貼上』來處理你的文件數據。
在一般指令模式中可以進行刪除、復制、貼上等等的動作,但是卻無法編輯文件內容的! 要等到你按下『 i, I, o, O, a, A, r, R 』等任何一個字母之後才會進入編輯模式。通常在 Linux
中,按下這些按鍵時,在畫面的左下方會出現『 INSERT 或 REPLACE 』的字樣,此時才可以進 行編輯。而如果要回到一般指令模式時, 則必須要按下『Esc』這個按鍵即可退出編輯模式。
在一般模式當中,輸入『 : / ? 』三個中的任何一個按鈕,就可以將游標移動到最底下那一列。在 這個模式當中, 可以提供你『搜尋資料』的動作,而讀取、存檔、大量取代字元、離開 vi 、顯 示行號等等的動作則是在此模式中達成的!
具體命令如下圖所示(來自鳥哥的 linux 私房菜)
⑽ linux下vim 查找命令
先必須知道vim的3中工作模式
Vim 提供了一個功能,只有當要搜索的單詞 / 模板包含大寫字母時,編輯器才會區分大小寫。要想實現這種功能,必須先設置ignorecase,再接著設置smartcase變數。
:set ignorecase
:set smartcase
例如,如果一個文件中既包含LINUX也包含linux,在開啟智能大小寫搜索功能時,如果使用/LINUX進行搜索,只有單詞LINUX處會被搜到。反之,如果搜索/linux,那麼不論大小寫的搜索結果都會被匹配。