剛剛由WIN10轉到ubuntu,在使用vim時因為保留windows系統習慣,經常CRTL+S導致vim無響應。通過網絡查詢得知問題原因:
CTRL-S為Terminal的組合鍵,在Terminal中,其用途是停止所有的輸出。再加上在vim中的停止輸入,所以造成屏幕輸出卡死。
CTRL-Q就是撤銷CTRL-S的組合鍵。
我發現在CRTL-Q后,之前輸入在屏幕不輸出的字符會一股腦冒出來,所以猜想數據都已經進棧,只是沒有傳輸到顯存。
解決辦法:
1、進入主目錄:cd ~。
2、ls -a 發現 .bashrc文件。
3、Vim .bashrc 插入模式 ,鍵入:i。
4、鍵入stty -ixon,禁止 "CTRL-S:掛起終端, "CTRL-Q:恢復終端 "這些鍵盤映射。
5、esc :wq 保存退出。
6、當前目錄下鍵入vim .vimrc 創建并編輯.vimrc文件。
注意:是~/目錄下,在usr/share/vim目錄編輯vimrc文件正常情況是無法生效的,因為系統會首先檢索用戶目錄下的配置文件。
** 7、鍵入。**
nmap:w!i
vmap:w!
imap:w!i
cmap:w!i
CRTL-S保存文件生效
nmap:q!
imap:q!
cmap:q!
CRTL-Q強制退出文件生效
8、鍵入ESC :wq 保存退出。
是ascii碼
下面是map命令,根據上述命令格式即可完成快捷鍵個性化定制
在map命令前加上前綴可以組合成幾種不同的命令,表示在不同的Vim模式下生效。
n 在普通模式 (normal) 下生效
i 在插入模式 (insert) 下生效
v 在可視化模式 (visual) 下生效
c 在命令模式 (command-line) 下生效
o 在命令等待時 (operator pending) 生效,比如輸入d之后會等待輸入下一個字符,可能是d或者數字
un 刪除鍵的映射
nore 非遞歸 (non-recursive),意思是將a 映射為b,b映射為c,輸入a的時候不會被映射為c,而只會映射為b
以上前綴可以組合使用,比如 nnoremap,nunmap,vnoremap 等。不帶前綴的map命令默認對 normal 模式和 visual 模式生效
-
VIM
+關注
關注
0文章
134瀏覽量
15298 -
Win10
+關注
關注
2文章
710瀏覽量
39998
發布評論請先 登錄
相關推薦
評論