【Vim】学习笔记(9)命令模式

命令模式

常用命令

bash 复制代码
## x使用自定义寄存器,比如a、b、c等
:[range]print(简写p) 打印指定范围内的内容
:[range]delete(简写d) [x] 删除指定范围内容[到寄存器x中]
:[range]yank(简写y) [x] 复制
:[line]put [x] 粘贴寄存器x的内容到指定行后面
:[range]copy(简写t) {address} 复制范围内容到指定行之下
:[range]move(简写m) {address} 移动范围内容到指定行之下
:[range]join 合并指定范围内的多行文本
:[range]normal(简写norm) {commands} 对范围内的每一行执行{commands}

举例

bash 复制代码
## 删除第1行到第10行
:1,10d
## 把当前行复制到寄存器a中, 再粘贴到下一行
:y a 或者 :.y a
:put a 或者 :.put a
## 把当前行复制到下一行
:t. 或者 :.t.
## 对一组进行移动
Vjj
:'<,'>m$
## 对一组进行执行normal命令
A;
Esc
j
Vjj
:'<,'>norm .
## 或者
Vjjj
:'<,'>norm A;

范围语法

bash 复制代码
符号             地址
----------|------------
m,n       |   从m行到n行
1         |   文件的第一行
$         |   文件的最后一行
0         |   虚拟行,位于文件第一行上方
.         |   当前行
'm        |   包含位置标记m的行
%         |   整个文件(:1,$的简写形式)
'<,'>     |   选区中的行(可视化模式按:进入命令模式自动填充)
+x,-y     |   偏移,例如.-1,.+1表示选中当前行和上下两行,总共选中三行

执行上一条命令

bash 复制代码
:@:

把当前的单词插入到命令行

bash 复制代码
<C-r><C-w>
举例
bash 复制代码
## 原文
var tally
for tally=1; tally <= 10; tally++ {
	// do something with tally
}
## 先把光标移动到tally
ciw
counter
:%s//<C-r><C-w>/g

命令行窗口

bash 复制代码
q/ 打开查找命令历史的命令行窗口
q: 打开Ex命令历史的命令行窗口
<C-f> 从命令行模式切换到命令行窗口

运行Shell命令

bash 复制代码
## 运行ls命令
:!ls
## 对当前文件运行go
:!go run %
## 启动一个交互的shell,执行多个命令
:!shell
把缓冲区内容作为标准输入或输出
bash 复制代码
## 读取当前目录的文件名
:r !ls
## 读取当前时间
:r !date
## 执行当前命令
:.w !sh
## 或者使用node执行当前语句
:.w !node
使用外部命令过滤缓冲区内容
bash 复制代码
原始内容
first name, last name, email
john, smith, john@qq.com
drew, neil, drew@qq.com
jane, doe, jane@qq.com

现在要按last name排序
:2,$ !sort -t',' -k2
也可以先选中要排序的行,然后执行
:'<,'> !sort -t',' -k2
相关推荐
吴声子夜歌2 小时前
Node.js——I/O流操作
node.js·编辑器·vim
charlie1145141912 小时前
2026年正点原子开发板移植方案——从0开始的Rootfs之路(5)WSL + NFS 网络启动踩坑记:从挂载失败到成功启动的完整历程
linux·网络·驱动开发·学习·嵌入式·嵌入式linux
头疼的程序员2 小时前
计算机网络:自顶向下方法(第七版)第七章 学习分享(四)
网络·学习·计算机网络
如雨随行20202 小时前
【Vim】学习笔记(8)tips-2
笔记·学习·vim
HyperAI超神经2 小时前
在线教程丨华中科大与小红书 hi lab开源dots.mocr,SOTA级OCR模型完美还原文档结构,图形也能转 SVG
人工智能·深度学习·学习·机器学习·gpu·orc·vllm
暴躁小师兄数据学院2 小时前
【WEB3.0零基础转换笔记】Rust编程篇-第4讲:控制流
开发语言·笔记·rust·web3·区块链·智能合约
Oll Correct2 小时前
实验十一:地址解析协议ARP不能跨网络直接使用
网络·笔记
老虎06272 小时前
LeetCode热题100 刷题笔记(第五天)多维动态规划(中心扩展法) 「 最长回文子串」
笔记·leetcode·动态规划
RrEeSsEeTt2 小时前
【HackTheBox】- BoardLight 靶机学习
linux·学习·网络安全·渗透测试·kali·红队·hackthebox