Vim 和 tmux 的常用注意事项

Vim

复制粘贴

在Vim中,可以使用系统剪切板进行复制和粘贴操作,具体操作与实际的操作系统有关。

在Linux和macOS上

  1. 复制到剪切板

    • 在Vim中,可以使用"+y来复制当前选中的文本到系统剪切板。例如,要复制当前行,可以先进入可视模式(按v),然后使用"+y。
  2. 从剪切板粘贴

    • 在Vim中,可以使用"+p来从系统剪切板粘贴文本。例如,要在当前光标位置后粘贴文本,使用"+p;如果要在当前行之前粘贴,使用"+P。

在Windows上

在Windows上,通常使用的是"*来代表系统剪切板。但是,如果使用的是Gvim(GUI版本),或者通过某些配置使得Vim支持系统剪切板,也可以使用"+。以下是操作方法:

  1. 复制到剪切板

    • 在Vim中,使用"*y或"+y来复制当前选中的文本到系统剪切板。例如,要复制当前行,先进入可视模式(按v),然后使用"*y或"+y。
  2. 从剪切板粘贴

    • 在Vim中,使用"*p或"+p来从系统剪切板粘贴文本。例如,要在当前光标位置后粘贴文本,使用"*p或"+p;如果要在当前行之前粘贴,使用"*P或"+P。

确保Vim支持系统剪切板

如果发现上述方法不起作用,可能是因为Vim版本不支持直接与系统剪切板交互。对于这种情况,可以安装或配置一个插件来实现这一功能。一个常用的插件是vim-gtk(仅限GTK版本)或者使用vim-gtk3(针对GTK3)。另一个流行的选择是vim-plus,它提供了更多的集成选项。

安装插件

如果选择使用插件,通常的安装方法是通过Vim的包管理器,如vim-plug或Vundle。以vim-plug为例,可以在.vimrc文件中添加如下配置:

vim 复制代码
call plugbegin('~/.vim/plugged')
Plug 'jodosha/vim-gtk3'
call plugend()

然后运行:PlugInstall来安装插件。

确保Vim版本支持选择的插件,并且在启动Vim时加载了相应的插件配置。之后,应该能够使用上述提到的命令来操作系统剪切板了。如果使用的是纯终端版的Vim(非Gvim),可能还需要额外的工具如xclip(在Linux上)或pbcopy/pbpaste(在macOS上)来实现剪切板功能。例如,在Linux上,可以通过:r !xclip -o来从剪切板读取文本。

自用.vimrc

复制代码
syntax on                                 " 自动语法高亮
set number                                " 显示行号
set smartindent                           " 智能自动缩进
set shiftwidth=4                          " 设置自动缩进时,每一级缩进4个空格的宽度
set tabstop=4                             " 设定 tab 长度为 4
set cursorline                            " 突出显示当前行
set ruler                                 " 打开状态栏标尺
set laststatus=2                          " 显示状态栏 (默认值为 1, 无法显示状态栏) 
set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\
" 设置在状态行显示的信息
set incsearch                             " 输入搜索内容时就显示搜索结果
set mouse=a                               " 鼠标选择时不选中行号

tmux

自用.tmux.conf

复制代码
set -g status-left-length 50  # 增加底部信息栏可显示内容的长度,默认是10,调整为更大的值(如50)
相关推荐
~光~~6 小时前
【嵌入式linux学习】Cache 策略:Write-Through / Write-Back + Allocation
linux·学习·spring
峥无6 小时前
Linux NPTL线程:创建/终止/等待/分离/栈布局内核原理|线程下篇
linux·运维·线程
是jin奥7 小时前
Ubuntu 访问 Windows 共享目录
linux·运维·ubuntu
星恒随风7 小时前
Linux基础IO万字详解:从文件描述符fd到重定向、FILE缓冲机制及MiniShell升级
linux·运维·笔记·学习·状态模式
yunwei378 小时前
eBPF 入门开发实践教程一:Hello World,基本框架和开发流程
linux·后端·性能优化
小雪崩8 小时前
嵌入式学习 day65:Linux驱动进阶——pinctrl 子系统和 platform 驱动框架
linux·学习·驱动
wixzjsh8 小时前
嵌入式Linux系统启动与内核驱动开发全解
linux·运维·驱动开发
晴天的雨.9928 小时前
【Linux】基础开发工具---软件包管理器
linux·运维·服务器
xiaoqiMikko9 小时前
Linux 实战(三):服务起不来、定时任务不执行 —— CentOS 7 / Rocky 9 / Ubuntu 24.04 实测差异
linux·centos
Hello_Pyhx9 小时前
Ventoy:Linux制盘与排障
linux·运维·服务器