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-plugVundle。以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)
相关推荐
NamoAmitabha1285 小时前
libpng12-0 1.2.54-1ubuntu1.1 (amd64 binary) in ubuntu xenial
linux·ubuntu20.4
Madison-No76 小时前
搭建项目测试环境
linux·运维·服务器·python
吴声子夜歌6 小时前
Shell编程实例——编写安全的shell脚本(二)
linux·运维·shell
xiaoye-duck8 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
zx_741484819 小时前
【Linux入门】Shell 函数、正则表达式与文本处理:cut 与 awk
linux·运维·正则表达式
Zenova EdgeOS9 小时前
Linux dmesg 工业边缘实战:内核日志过滤、持久化与故障定位
linux·运维·边缘计算·工业边缘·dmesg·内核日志
金士顿9 小时前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
做运维的阿瑞10 小时前
Python 标准库汇总:分类速览与常用模块清单
linux·运维·python
百万蹄蹄向前冲11 小时前
密码都对Node.js却连不上Linux数据库
linux·mysql
彧azz11 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试