Vim 编辑器:高效文本编辑的瑞士军刀

简介: **Vim 概览:**Vim 是一个功能丰富的文本编辑器,以其高度可定制性著称。文章介绍了 Vim 的高效使用技巧,包括快捷打开文件、命令行模式下的常用命令、查找与替换、删除和复制文本。还讨论了配置 `.vimrc` 文件以自定义设置,如改变 leader 键、设置缩进和高亮,并展示了安装插件如 vim-airline 和 vim-snazzy 的方法。通过这些技巧,用户能提升 Vim 使用效率。

Vim,作为编程和系统管理中的强大工具,以其丰富的功能和高度可定制性著称。

在这篇文章中,我们将探索 Vim 的一些高效使用技巧,从打开文件的快捷方法到文本编辑、查找、替换、删除和复制的高级技巧,再到 Vim 配置和插件安装,帮助你提升 Vim 使用技能。

vim 打开文件的快捷方法

Vim 提供了多种打开文件的选项,让你的工作更加高效:

vim 使用的选项 说明
vim -r filename 恢复上次 vim 打开时崩溃的文件
vim + filename 打开文件,并将光标置于最后一行的首部
vim +n filename 打开文件,并将光标置于第 n 行的首部
vim +/pattern filename 打幵文件,并将光标置于第一个与 pattern 匹配的位置
vim -c command filename 在对文件进行编辑前,先执行指定的命令

命令行模式下的常用命令

Vim 的命令行模式提供了丰富的快捷命令,以下是一些常用的:

命令 说明
set nu 显示行号
set nonu 取消显示行号
set ic 忽略大小写
set noic 取消忽略大小写
yy 复制光标所在行
p 粘贴
u 撤销
ctrl + r 反撤销(恢复撤销)
ctrl+d 翻页 向下翻
ctrl+b 翻页 向上翻
/关键字 查找
dd 删除当前行
x 删除单个字符
o (小写) 下行插入
O (大写 shift +o) 上行插入
a 字符后插入
A 行末插入
数字 0 或者 ^ 光标移动到当前行的行首
$ 光标移动到当前行的行尾
gg 光标移动到文件开头
G 光标移动到文件末尾

vim 查找文本

要查找的字符串是严格区分大小写的,比如需要查找 alexAlex 会得到不同的结果

快捷键 功能描述
/abc 从光标所在位置向前查找字符串 abc
/^abc 查找以 abc 为行首的行
/abc$ 查找以 abc 为行尾的行
?abc 从光标所在为主向后查找字符串 abc
n 向同一方向重复上次的查找指令
N 向相反方向重复上次的查找指定

vim 替换文本

快捷键 功能描述
r 替换光标所在位置的字符
R 从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束
:s/a1/a2/g 将当前光标所在行中的所有 a1 用 a2 替换
:n1,n2s/a1/a2/g 将文件中 n1 到 n2 行中所有 a1 都用 a2 替换
:g/a1/a2/g 将文件中所有的 a1 都用 a2 替换

vim 删除文本

快捷键 功能描述
x 删除光标所在位置的字符
dd 删除光标所在行
ndd 删除当前行(包括此行)后 n 行文本
dG 删除光标所在行一直到文件末尾的所有内容
D 删除光标位置到行尾的内容

复制文本

快捷键 功能描述
p 将剪贴板中的内容粘贴到光标后
P(大写) 将剪贴板中的内容粘贴到光标前
y 复制已选中的文本到剪贴板
yy 将光标所在行复制到剪贴板,此命令前可以加数字 n,可复制多行
yw 将光标位置的单词复制到剪贴板

配置配置文件 ~/.vim/vimrc

# 将 leader 键更改为空格键
let mapleader=" "

# 增加兼容性的常规设置
set nocompatible
filetype on
filetype indent on
filetype plugin on
filetype plugin indent on

# 让 vim 编辑器可以使用鼠标
set mouse=a
# 设置编码格式
# set encoding=utf-8
# 有些终端颜色可能会出问题,加上这一行之后就会好很多
let &t_ut=''

# 按一下 tab 键,缩进为 4 个空格
set expandtab
set tabstop=4
set shiftwidth=4
set softtabstop=4

# 显示高亮
syntax on
# 显示行号
set number
# 显示当前活动行号
set relativenumber
# 当前光标处,显示一条横线
set cursorline
# 当前行不会超出当前窗口,自动换行
set wrap
# 显示按键输出
set showcmd
# 提示
set wildmenu

# 搜索词高亮 high light search
set hlsearch
# 进入命令行模式时,自动取消高亮
exec "nohlsearch"
# 边输入,边高亮
set incsearch
# 搜索时,忽略大小写
set ignorecase
# 智能大小写
set smartcase

# 设置键盘映射
# 将 n 键映射为 h 也就是说当按了 n 键,相当于按了 h 键
noremap n h

# 设置快捷指令
# 删除小写 s 键对应的功能
map s <nop>
# 按了大写 s 键,相当于 `:w 回车` 即为快捷保存文件指令
map S :w<CR>
# 退出
map Q :q<CR>
# 重新加载 vim 配置文件
map R :source $MYVIMRC<CR>

# 向右分屏
map sl :set splitright<CR>:vsplit<CR>
# 向左分屏
map sh :set nosplitright<CR>:vsplit<CR>
# 向上分屏
map sk :set nosplitbelow<CR>:split<CR>
# 向下分屏
map sj :set splitbelow<CR>:split<CR>

# 当前屏,纵向分屏
map sv <C-w>t<C-w>H
# 当前屏,横向分屏
map sb <C-w>t<C-w>K

# 当前配置文件最上方已经将 leader 键更改为空格键,那么这里就是 空格+k 代替了 Ctrl+w
# 分屏之后,光标向上移动
map <LEADER>k <C-w>k
# 分屏之后,光标向下移动
map <LEADER>j <C-w>j
# 分屏之后,光标向左移动
map <LEADER>h <C-w>h
# 分屏之后,光标向右移动
map <LEADER>l <C-w>l

# 横向的分屏往上加 5
map <up> :res +5<CR>
# 横向的分屏往下减 5
map <down> :res -5<CR>
# 纵向的分屏宽度减 5
map <left> :vertical resize-5<CR>
# 纵向的分屏宽度加 5
map <right> :vertical resize+5<CR>

# 新建标签页
map tn :tabe<CR>
# 查看左边的标签页
map tl :-tabnext<CR>
# 查看右边的标签页
map tr :+tabnext<CR>

安装插件

~/.vim/vimrc 配置文件中


call plug#begin('~/.vim/plugged')

# 安装 vim-airline 插件
Plug 'vim-airline/vim-airline'
# 安装配色
Plug 'connorholyday/vim-snazzy'

call plug#end()

# 详见 https://github.com/connorholyday/vim-snazzy
# 设置配色
color snazzy
# 设置透明背景
let g:SnazzyTransparent = 1

# 然后在命令行模式下输入
# :PlugInstall

Vim 是一个功能强大的文本编辑器,通过熟练掌握其快捷键和配置,你可以极大提升编辑效率。希望这篇文章能帮助你更好地使用 Vim,成为文本编辑的高手。

相关文章
|
3月前
|
Linux 开发工具 iOS开发
【Vim 核心攻略】 —— 文本编辑高手的进阶秘籍
Vim 是效率与优雅的化身,蕴藏着无尽的可能。在这里,我希望通过记录点滴心得,让更多人发现它的魅力。或许,某个不经意的技巧、一个贴心的配置,便能让你与 Vim 的旅途更加契合。愿这片小小的天地,成为你探索高效编辑世界的一盏微光。
【Vim 核心攻略】 —— 文本编辑高手的进阶秘籍
|
2月前
|
Unix Linux 开发工具
Vi 和 Vim 文本编辑器使用指南
Vi 和 Vim 是 Unix/Linux 系统中常用的文本编辑器,Vim 是 Vi 的改进版,增加了语法高亮、多级撤销等功能。它们支持命令模式、插入模式和末行模式,可通过快捷键高效进行文本编辑操作,如移动光标、删除文本、查找替换等。例如,命令模式下“hjkl”分别用于左右上下移动光标,“x”删除字符,“i”进入插入模式输入文本,“:wq”保存并退出。
65 6
|
3月前
|
Linux UED C++
MarkEdit:相信做技术的同学都会喜欢这个编辑器的,MarkEdit编辑器,让Markdown编辑变得简单而强大,超赞~~~
嗨,大家好,我是小华同学。MarkEdit是一款跨平台的Markdown编辑器,支持Windows、macOS和Linux,提供实时预览、快捷键、自定义主题和插件系统等核心功能。它适用于日常笔记、技术文档、博客写作、学术论文和电子书制作等多种场景。
228 31
|
3月前
|
移动开发 数据可视化 前端开发
tmagic - editor:大厂开源项目,零代码/低代码页面可视化编辑的利器,多端统一方案揭秘!如何用一套代码支持H5/PC,牛牛牛~~~
腾讯推出的开源项目 **tmagic-editor** 是一款所见即所得的页面可视化编辑器,支持H5、PC、TV等多种页面类型。它已应用于腾讯视频会员、腾讯会议等业务,每月生产和发布数百个页面,极大提高了开发效率。通过简单的拖拽和配置,非技术人员也能轻松创建复杂页面。tmagic-editor 支持 Vue2/Vue3 和 React 等多种前端框架,并提供了丰富的扩展功能,满足不同业务需求。
266 3
|
6月前
|
搜索推荐 开发工具
Vim编辑器的初步认识和使用
Vim是一款高度可定制的文本编辑器,支持三种主要模式:正常模式、编辑模式和命令行模式。用户可以通过快捷键在不同模式间切换,实现高效编辑。如输入`i`进入编辑模式,`:wq`保存退出,`:s`进行文本替换等。Vim还支持个性化配置,通过编辑`.vimrc`文件可设置语法高亮、自动缩进等功能,极大提升了编辑体验。
103 2
|
6月前
|
数据可视化 Unix 开发工具
VIM编辑器
本文介绍了VIM编辑器的特点和使用方法,包括VIM的定义、安装步骤、四种工作模式(命令模式、编辑模式、末行模式、可视模式)及其基本操作。重点讲解了命令模式下的光标移动、编辑、搜索、撤销等操作,以及末行模式下的文件保存、退出等快捷键。此外,还涉及了VIM的高级操作,如窗口分割和调整。
|
7月前
|
开发工具
用 Vim 编辑 Markdown 时直接粘贴图片
介绍一款 Vim 插件,可以帮助提升编辑 Markdown 时的从剪贴板粘贴图片的效率和体验。
69 2
|
7月前
|
IDE 搜索推荐 开发工具
LunarVim,vim编辑器推荐
【10月更文挑战第9天】
126 0
|
9月前
|
搜索推荐 Linux 网络安全
Linux系统中的Vim编辑器
【8月更文挑战第21天】Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。它具有三种基本模式:命令模式,用于执行操作但不能编辑文本;插入模式,允许用户像常规编辑器那样输入文本;底线命令模式,用于保存、退出及查找替换等操作。Vim还支持多窗口编辑、宏录制及插件扩展等功能,并可通过配置文件个性化设置。因其高效性、良好的可移植性和远程编辑能力,Vim特别适用于开发者和系统管理员。
|
9月前
|
开发工具
vim编辑器常用命令
vim编辑器常用命令
190 1

热门文章

最新文章