vim的强大之处在于你可以自己写插件支持一些奇怪的功能
要不然换 nano 吧,比vim门槛低得多
用开启了clipboard编译选项的vim(比如gvim)试试?
要不然换 nano 吧,比vim门槛低得多
图形界面下肯定有很多种方式打开文本文档。命令行下,完全可以用less命令来替代。
vim用习惯了。感觉有时候在命令行,比在图形界面的文本编辑器方便。但是我觉得在vim模式下没有复制,应该是个bug,会特别别扭,影响使用心情。
用开启了clipboard编译选项的vim(比如gvim)试试?
您好,您说的gvim是什么?Linux下也有gvim吗?我只在windows下用过gvim。
图形界面下肯定有很多种方式打开文本文档。命令行下,完全可以用less命令来替代。
vim用习惯了。感觉有时候在命令行,比在图形界面的文本编辑器方便。但是我觉得在vim模式下没有复制,应该是个bug,会特别别扭,影响使用心情。
我记得 vim 复制的正规玩法应该是通过剪贴板插件,然后 y 复制,p 粘贴吧
我记得 vim 复制的正规玩法应该是通过剪贴板插件,然后 y 复制,p 粘贴吧
y 和 p这种复制和粘贴都只是在vi内部,并没有到剪切板。要想在剪切板中使用,好像只能是“复制”、“粘贴”。
y 和 p这种复制和粘贴都只是在vi内部,并没有到剪切板。要想在剪切板中使用,好像只能是“复制”、“粘贴”。
看了一下,deepin 默认的这个 vim 确实没有启用 clipboard。可以安装 neovim,这个可以直接用 "+y
命令将内容复制到系统剪贴板。
您好,您说的gvim是什么?Linux下也有gvim吗?我只在windows下用过gvim。
Linux下也有gvim的。gvim实际上可以统称vim的所有gui版本,在linux下gvim一般指vim-gtk。在deepin里面的包名应该是 vim-gtk3
。它里面包含了vim的所有功能,同时额外提供了一个图形界面。不过最关键的是它默认启用clipboard编译选项,可以访问系统剪贴板寄存器。
寄存器(剪切板)操作:"x
- 输入"在状态行右侧显示",再输入寄存器名称字符x,在状态行右侧显示"x
- VIM有多个寄存器(剪切板),复制或删除的文本都暂存在寄存器中。
寄存器名称
"、0-9、a-z、A-Z、-、*、+、.、:、%、/、#、_
- 小写字母:新的内容替代旧内容
- 大写字母:在相应小写字母为名称的寄存器尾部添加新内容。且将"寄存器中的内容修改与相应寄存器一致
特殊寄存器
x | 说明 |
---|---|
" | 最近复制或删除的文本,此剪切板中的内容储存或粘贴时直接操作 |
: | 最近输入的命令行命令 |
/ | 最近搜索的文本 |
- | 最近一行内删除的内容 |
+ | 外部最近复制的文本,将VIM中的文本存入此剪切板可以在外部粘贴。 |
* | 外部最近复制的文本,但将VIM中的文本存入此剪切板不能在外部粘贴。 |
. | 最近插入的文本 |
# | 轮换缓存区文件名 |
% | 最近编辑文件的文件名 |
_ | 黑洞剪切板,放入其中的内容消失。 |
0 | 最近复制的内容,除非该内容指定了其他剪切板。 |
1-9 | 最近整行或跨行删除的内容放在1,将1中原内容存到2,2中的内容存到3,以此类推。9中原内容消失。 |
= | 最近输入的剪切板表达式,粘贴其运算结果。 |
- [寄存器操作]后跟[基础操作]:将基础操作的内容存入寄存器。
- [寄存器操作]后跟[粘贴操作]:将寄存器中内容粘贴到文件中。
查看寄存器::reg
:reg :列出所有寄存器
:reg x:查看x寄存器
改个vim.rc的设置就行了,网上有教程
关于Vim中鼠标选中内容复制到系统剪切板的经验分享贴https://bbs.deepin.org/post/210027
方法一:在/etc/vim目录下创建文件vimrc.local
sudo vim /etc/vim/vimrc.local
填入以下内容,然后重启终端:
" 加载默认配置
runtime! defaults.vim
" 允许鼠标选中内容复制至系统剪贴板
if has('mouse')
if &term =~ 'xterm'
set mouse=r
else
set mouse=nvi
endif
endif
" 跳过默认配置的加载,以避免覆盖当前文件中的同名配置项
let g:skip_defaults_vim = 1
或者
方法二:干脆直接修改vim默认配置文件/usr/share/vim/vim82/defaults.vim中关于mouse的配置:
将第82行 set mouse=a
修改为 set mouse=r
即由:
if has('mouse')
if &term =~ 'xterm'
set mouse=a
else
set mouse=nvi
endif
endif
改为:
if has('mouse')
if &term =~ 'xterm'
set mouse=r
else
set mouse=nvi
endif
endif
不过改这个文件的话,将来vim更新时候应该是会被覆盖掉的,还是用方法一吧。
改个vim.rc的设置就行了,网上有教程
谢谢。改好了。
关于Vim中鼠标选中内容复制到系统剪切板的经验分享贴https://bbs.deepin.org/post/210027
方法一:在/etc/vim目录下创建文件vimrc.local
sudo vim /etc/vim/vimrc.local
填入以下内容,然后重启终端:
" 加载默认配置
runtime! defaults.vim
" 允许鼠标选中内容复制至系统剪贴板
if has('mouse')
if &term =~ 'xterm'
set mouse=r
else
set mouse=nvi
endif
endif
" 跳过默认配置的加载,以避免覆盖当前文件中的同名配置项
let g:skip_defaults_vim = 1
或者
方法二:干脆直接修改vim默认配置文件/usr/share/vim/vim82/defaults.vim中关于mouse的配置:
将第82行 set mouse=a
修改为 set mouse=r
即由:
if has('mouse')
if &term =~ 'xterm'
set mouse=a
else
set mouse=nvi
endif
endif
改为:
if has('mouse')
if &term =~ 'xterm'
set mouse=r
else
set mouse=nvi
endif
endif
不过改这个文件的话,将来vim更新时候应该是会被覆盖掉的,还是用方法一吧。
谢谢。按照说的方法一改好了。
ctrl+shift+v试试
Popular Ranking
ChangePopular Events
More
deepin终端在其他情况下右键都是有复制功能的。但是,deepin终端在使用vi编辑时,右键没有复制功能。用vi打开文本然后快速查看一些内容并复制是很常用的,强烈建议修改。
less、more命令看到的文档内容都有复制选项,只有vim没有。