命令模式下的命令及快捷鍵
# dd刪除光所在行的內容
# ndd從光標所在行開始向下刪除n行
# yy復制光標所在行的內容
# nyy復制光標所在行向下n行的內容
# p將復制的內容粘貼到光標所在行以下(小寫)
# P將復制的內容粘貼到光標所在行以上(大寫)
# ^立即跳轉到光標所在行的行首
# $立即跳轉到光標所在行的行尾
# gg跳轉到文檔的第一行行首
# G跳轉到文檔的最后一行行首
# ngg/G 跳轉到第n行
# u撤銷上一次編輯
# n(↑/↓/←/→)向上/下/左/右移動n字符
# w:向右跳轉,如果光在字母上則跳轉到下一個符號上,如果光標在符號上則跳轉到下一個字母上,如果是文檔是文本則調準到下一個單詞
# b:與w相反,它是往左跳
pP復制命令
具體場景??
??1. 復制單行內容??
??復制整行??(按 yy 或 Y 復制):
p → 粘貼到 ??當前行下方??(新行)
P → 粘貼到 ??當前行上方??(新行)
??2. 復制多行內容??
復制多行后(如 3yy 復制3行):
p → 粘貼到 ??當前行下方??(多行整體插入)
P → 粘貼到 ??當前行上方??(多行整體插入)
??3. 復制單詞或字符??
復制單詞(按 yw 或 yiw)或字符(按 y + 移動命令):
p → 粘貼到 ??光標右側??(字符后)
P → 粘貼到 ??光標左側??(字符前)實用技巧??
??1. 快速調整代碼塊位置??
復制一行(yy)→ 移動到目標行 → 按 p 或 P 快速上下移動代碼
5yy p #復制光標所在行向下5行的內容并將復制的內容粘貼到光標所在行以下
命令模式→插入(編輯)模式
# s————刪除光標所在的字符 并進入編輯模式
# S————刪除光標所在行的內容 并進入編輯模式
# o————向光標所在行下方插入新行 并進入編輯模式
# O————向光標所在行上方插入新行 并進入編輯模式
# a————在光標右側移動一個字符,并進入編輯模式
# A————光標移動到行尾,并進入插入模式
# i————進入編輯模式,在光標所在位置進行編輯
# I————回到光標所在行的行首 并進入編輯模式
# ESC 退出筆記模式回到 命令模式
末行模式
# :q————未做修改的情況下可以直接退出
# :wq————保存并退出
# :w————保存
# :w /dir/file————將文件另存到/dir/file中
# :q!————放棄修改并退出
# :wq!————強制保存并退出
# :set nu————開啟文檔的行號(set number)
# :set nonu————關閉文檔的行號(set no number)
末行模式的搜索替換
# /搜索 /+要搜索的字符串
# :n1,n2 s/old/new/g
n1:起始行
n2:中止行
s:表示搜索
old:表示要搜索的目標字符串
new:要將new字符串替換掉old字符串
g:替換所有的old字符串
%:表示全文#:r /dir/file————在光標位置處寫入指定的新文件
#:g/word/d————在全局范圍內刪除指定的字符串
#:n1,n2 d————刪除n1到n2的行
#:n1,n2 copy n3—————n1到n2為止內容復制到n3行
vim的配置文件
# /etc/vimrc是全局配置文件,如果root用戶修改了該文件,所有用戶的vim都會受到影響。
# ~/.vimrc 這個用戶個人的配置文件他的優先級高于全局的配置文件# set number 會使vim默認開始行號
# set tabstop=1 他會修改vim的tab的顯示效果。
# set softtabstop=4 他會修改tab鍵的點擊效果,它的效果取決于tabstop的值。
# set shiftwidth=4 自動縮進的寬度
# set mouse=a 開啟鼠標
# syntax on 開啟語法檢測功能# set hlsearch "高亮度反白
# set backspace=2 "開啟刪除鍵的功能
# set autoindent "自動縮排
修改vim的配置文件
?如要修改vim默認配置使開啟行號,自動縮進,tab快捷鍵空4格
[root@server ~]# vim ~/.vimrc
....1 set number #會使vim默認開始行號2 set autoindent #"自動縮排"3 set smartindent #開啟智能縮進模式,??基于代碼邏輯自動調整縮進4 filetype plugin indent on #filetype on????功能??:啟用??文件類型檢測??,# filetype plugin on??功能??:# 加載與文件類型相關的??插件??(位于 ~/.vim/ftplugin/), #iletype indent on???功能??:# 啟用與文件類型相關的??縮進規則??(位于 ~/.vim/indent/),5 set tabstop=4 #修改vim的tab的顯示效果為空4格。6
....
"~/.vimrc" 6L, 83B // ~/.vimrc 這個用戶個人的配置文件他的優先級高于全局的配置文件
vim的異常模擬
# vim編輯xxx文件時,不是直接編輯xxx,而是復制一個副本名為.xxx.swp的文件,然后修編輯該文件。
# 當我們使用:wq保存時,會用.xxx.swp覆蓋掉xxx文件,并且會刪除.xxx.swp。
# 當我們使用:q!退出,會刪除.xxx.swp。# 當在使用vim的過程中沒有是 wq q!等退出方式 .xxx.swap就不會刪除
# 這就會導致下一次再編輯此文件,會出現如下場景:E325: 注意
發現交換文件 ".passwd_copy.swp"所有者: root 日期: 日 10月 20 22:24:57 2024文件名: ~root/passwd_copy修改過: 是用戶名: root 主機名: NLCSA2進程 ID: 8678 (STILL RUNNING)
正在打開文件 "passwd_copy"日期: 日 10月 20 22:20:15 2024(1) Another program may be editing the same file. If this is the case,be careful not to end up with two different instances of the samefile when making changes. Quit, or continue with caution.
(2) An edit session for this file crashed.如果是這樣,請用 ":recover" 或 "vim -r passwd_copy"恢復修改的內容 (請見 ":help recovery")。如果你已經進行了恢復,請刪除交換文件 ".passwd_copy.swp"以避免再看到此消息。交換文件 ".passwd_copy.swp" 已存在!
以只讀方式打開([O]), 直接編輯((E)), 恢復((R)), 退出((Q)), 中止((A)):# 此時輸入E,忽略.xxx.swp中的修改重新編輯文件
# 此時輸入R,會讀取.xxx.swp中的修改,繼續編輯。# 如果想要取消當前這種異常狀態,在編輯過文件后,刪除.xxx.swp文件即可