Vim关于复制问题的优化
前言
记录一下烦人的VIM复制问题.本人的vim配置是有set mouse=a 方便鼠标操作的.也有set number来显示行号.烦人的是便捷复制让这2个不可兼得.
一直困扰我到今天,尝试了办法来解决,终于勉强能接受了…
在只有set mouse=a到情况下,在 iTerm 下直接按住 option
选择文本,再 command + C
复制就行了
但是一旦有set number来显示行号的,由于 iTerm 并不知道哪些是 vim 的文本内容,哪些是附加信息,多行选择时会把行号选进来.这就很烦.
在只有set number到情况下,虽然可以直接复制,但是没了鼠标快速操作和滚动.(个人主观认为:)挺麻烦而且慢的
关于 寄存器 哪些知识或者其他与操作无光的内容,参考此知乎链接🔗
检查vim
本文直接说说我的操作吧.
首先再终端中输入这行命令
1 | vim --version | grep clipboard |
分为二种情况.
回显内容有 -clipboard
例如:
很遗憾,你的vim也许出了些问题
根据系统类型选择,合适的命令进行修复.
Linux系统系统
1 | sudo apt install vim-gtk |
操作例图:
MacOS系统
1 | brew install vim |
操作例图:
回显内容有 +clipboard
恭喜你,你的vim没有问题!
开始设置vim
终端中输入.
1 | vim ~/.vimrc |
回车,在末尾添加这一行
1 | set clipboard^=unnamed,unnamedplus |
学习如何复制
现在你的y
,p
已经能和 ctrl-c
和ctrl-v
一个效果,并且能互相混用。
但问题是不能用鼠标选中否则会进入 SELECT选择模式 ,这个模式下输入除了按ESC键以外几乎都会覆盖掉你选中的内容
那么,我们改怎么操作呢?个人认为正确做法应该是学习.👇
学习vim的一些操作,这里只说一下我认为是必要的内容.
首先,推荐一个类似于游戏学习vim的网站👉Learning VIM while playing a game
接下来讲一下,可能频率使用高的基本操作.
普通模式(NORMAL)下,
w 跳到下一个单词
b 跳到上一个单词
它们与shift结合,可以加快速度.
视图模式(VISUAL)下
以你光标位置开始(可以在按V切换到视图模式之前,点击你想要选中文本到开头).
w 选中到下一个单词
b 选中到上一个单词
shift功能在这里也一样.
然后就可以用 y
和 ctrl-c
(Mac上是command+c)开始愉快的复制啦~
受限于篇幅,更多内容请自行学习.