电子说
刚刚由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 模式生效
全部0条评论
快来发表一下你的评论吧 !