⑴ 如何從Vim中訪問shell或者運行外部命令
1、在命令模式 可以通過! 來運行
比如 :!date
2、也可以通過sh或者shell命令來切換到shell界面,再執行
:sh 或者:shell
⑵ linux系統使用vi命令進入文件後怎麼修改保存
1、查看目錄下文件file.txt的內容,使用cat file.txt(ls // 表示查看當前目錄下的文件目錄 ; cat file.txt // 表示查看該文件的內容)發現內容是hello world
(2)shellvim命令擴展閱讀:
linux系統的常用命
1、date :print or set the system date and time
2、stty -a: 可以查看或者列印控制字元(Ctrl-C, Ctrl-D, Ctrl-Z等)
3、 passwd: print or set the system date and time (用passwd -h查看)
4、logout, login: 登錄shell的登錄和注銷命令
5、pwd: print working directory
6、more, less, head tail: 顯示或部分顯示文件內容.
7、lp/lpstat/cancel, lpr/lpq/lprm: 列印文件.
8、 更改文件許可權: chmod u+x...
9、刪除非空目錄:rm -fr dir
10、拷貝目錄: cp -R dir
⑶ linux下vim 查找命令
linux下vim 查找命令:
/text --查找text, 按n查找下一個, N查找上一個
?text --查找text(反向查找), 按n查找下一個, N查找上一個
*/# --查找游標當前的單詞,相當於/text
:set ignorecase --查找忽略大小寫
:set noignorecase --查找不忽略大小寫
:nohlsearch --關閉當前的高亮顯示,當再次查找時恢復高亮
:set incsearch --逐步搜索模式,對當前鍵入的字元進行查找,不必等輸入完成
:set wrapscan --重新搜索,當搜索到文件頭或尾時,返回重新搜索
(3)shellvim命令擴展閱讀:
1、文件窗口:
:open file --在當前窗口打開新文件
:split file --在新窗口打開文件
:new file --用新窗口打開文件,同 :split file
:bn --切換到下一個文件
:bp --切換到上一個文件
:args --查看當前打開的文件列表(當前正在編輯的文件會用[]括起來)
:e ftp://192.168.10.76/abc.txt
:e qadrive est.txt --打開遠程文件
:split --打開一個新窗口,游標停在頂層的窗口上
:new --打開一個新窗口,游標停在頂層的窗口上
:vsplit --橫向打開窗口。
Ctrl+ww --移動到下一個窗口
Ctrl+wj --移動到下方的窗口
Ctrl+wk --移動到上方的窗口
2、其他命令:
Esc/Ctrl+[ -- 鍵入命令
:!command --執行shell命令
:suspend/Ctrl+Z --掛起vim,回到shell,fg 返回vim
:!perl -c script.pl --檢查perl腳本語法,不用退出vim
:!perl script.pl --執行perl腳本, 不用退出vim
:help --顯示幫助文檔
:help i --顯示i的幫助文檔(:特殊鍵用<>, -t:啟動參數用-)
3、編輯命令:
插入:
i --在當前位置插入
A --在當前行尾插入
I --在當前行首插入
o --在當前行後插入一行
O --在當前行前插入一行
拷貝粘貼剪切:
yy --拷貝當前行
2yy --拷貝當前行開始的2行
p --在當前游標後粘貼
P --在當前行前粘貼
:1,10 co 20 --將1-10行插入到第20行之後。
:1,$ co $ --將整個文件復制一份並添加到文件尾部
v --進入選擇模式,相當於在Windows下按住 Shift選擇
V --進入選擇模式,整行選擇
ddp --交換當前行和其下一行
2dd --剪切當前行之後的2行
:1,10d --將1-10行剪切
:1, 10 m 20 --將第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,20 s/^/text/g --在第10行到第20行每行前面加上text(:3,5 s/^/#/g --注釋3-5行, :3,5 s/^#//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