
我先抛个砖,想看看大家的分享:
ciw (删除当前单词并进入编辑模式) ci{ (删除 {} 内的内容并进入编辑模式,同理可用于括号,双引号等,重写函数的时候非常好用) ctrl o (编辑模式下暂时切换到 normal 模式,可以执行一条非编辑模式下的命令) 1 EyebrowsWhite 2023 年 2 月 6 日 via Android 第二条的大括号可以用大写 B 代替,小括号可以用小写的 b 代替,按起来舒服些 |
2 clecho 2023 年 2 月 6 日 ciw 我还真不知道,不过看见过 viw ,vi{。作用是选中单词,用法和你上面举例一样 |
3 yzld2002 2023 年 2 月 6 日 @EyebrowsWhite #1 学到了,感谢! |
| /td> | 4 szyp 2023 年 2 月 6 日 :set paste 可以进入不丢失缩进的粘贴模式 |
5 nba2k9 2023 年 2 月 6 日 :q! :wq 记住这两个,别的什么都好说 |
7 HiHi 2023 年 2 月 6 日 1. ga 查看字符编码 2. <c-q> 输入编码得到字符 3. c-a,c-x 实现数字简单++--,(win 下要注意 unmap 掉这两个快捷键,默认可能因为 behave win 变成了全选跟剪切) 4. :e! 放弃修改重新加载文件 |
8 zdt3476 2023 年 2 月 6 日 我习惯用 caw 从描述来看好像和 ciw 一样? 还有就是我比较喜欢用 ctrl+v 进行整列编辑 |
9 jorneyr 2023 年 2 月 6 日 :x 保存退出 |
10 jdhao 2023 年 2 月 6 日 via Android 这个叫 text object ,非常有用,绝对是使用 vim 的 top 必备技能 |
12 cluulzz 2023 年 2 月 6 日 ggdG,ctrl v |
13 moreant 2023 年 2 月 6 日 前两个都属于文本对象的操作,有时候写 html 的时候可以 cit/cat 删除整个 tag ,挺方便的。 就是一直想知道 vim 要如何实现类似 IDEA 里 <a-j> 的选中下一个单词(Select next occurrence) |
14 duadua 2023 年 2 月 6 日 normal mode: ctrl-a 让光标后面第一个数字 +1 ctrl-x 让光标后面第一个数字 -1 也可以通过 visual mode 控制操作的数字的范围 |
15 akring OP |
16 eaststarpen 2023 年 2 月 6 日 dit, dat, cit, cat, di", ci" ...... 就像 @jdhao 说的, 很方便的 "modify" 特定范围的 "character sequences" `dit` means delete in tag(personaly) 在修改 xml 和 html 时候很有用 此外, di" 这种不一定要在引号中才能用, 他会自动向后寻找 e.g. "this is <光标>a 'example'" 在 <光标> 处 ci' 会自动删除 example 并进入 insert mode for more: h text-objects |
18 leexiaolang 2023 年 2 月 6 日 @acoada 多光标操作? 如果是这个需求的话可以插件 vim-visual-multi 实现 |
19 nowto 2023 年 2 月 6 日 view xyz.txt (或者 vim -R xyz.txt)以只读模式打开文件,相当于 less xyz.txt 或 more xyz.txt 但是 是用 vim 查看文件 |
20 cassyfar 2023 年 2 月 6 日 :o 插入新的一行并编辑 ctrl + v 进入视觉编辑模式 |
21 windstill 2023 年 2 月 6 日 块操作: ^ <C-v> <C-d> I-- [ESC] ^ → 到行头 <C-v> → 开始块操作 <C-d> → 向下移动 (你也可以使用 hjkl 来移动光标,或是使用%,或是别的) I-- [ESC] → I 是插入,插入“--”,按 ESC 键来为每一行生效。 引用自《简明 Vim 练级攻略 | 酷壳 - CoolShell.cn 》 如果是在行尾添加的话,就在块操作之后,$到行尾,按 A 插入字符,然后 ESC 每行生效 |
22 windstill 2023 年 2 月 6 日 还有个剪切板的操作 "+yy // 复制当前行到剪切板 "+p // 将剪切板内容粘贴到光标后面 |
23 857681664 2023 年 2 月 6 日 : 1, 5 t . 可以使用命令模式快速复制某个区域的文本到当前光标位置,可以非常方便地在不需要移动光标进行复制 |
24 CL7 2023 年 2 月 6 日 <a href="https://sm.ms/image/V5ZhlyA4uafmv7x" target="_blank"><img src="https://s2.loli.net/2023/02/06/V5ZhlyA4uafmv7x.png" ></a> 这个图不错 |
25 EyebrowsWhite 2023 年 2 月 6 日 还有个,如果你安装了 jq ,那么可以用 `:%!jq .` 来格式化 json 文件,参考自 https://www.putorius.net/format-json-file-in-vim.html |
26 xuminzhong 2023 年 2 月 6 日 @akring 第一条 ciw ,平时都是用 cw ,两个好像没区别,都是会进入编辑模式。 |
27 chuan0144 2023 年 2 月 6 日 上面好多回复都是很基础的操作,建议看看《 Vim 实用技巧》Drew Neil 著 |
28 JackieMe 2023 年 2 月 6 日 via Android @xuminzhong 当你在一个单词中间的时候,cw 只会把光标后的部分删掉并进入编辑模式,ciw 会把整个单词删掉。 |
30 z1645444 2023 年 2 月 6 日 知道 leader 键以后,设置和使用各种舒畅。 |
31 sadfQED2 2023 年 2 月 6 日 via Android %d 清空全部内容。不知道这个命令之前我要按半小时删除键才能把内容删完 |
32 fuwu1245 2023 年 2 月 6 日 牛牛牛 这快捷键好使,谢谢楼主 |
33 mmcross 2023 年 2 月 6 日 看完这个,关闭页面时,不由自主的输了个: |
35 GiantHard 2023 年 2 月 6 日 via Android cia, 依赖 text-obj-args 插件,删除当前参数并进入编辑模式,对于有类型标注的编程语言来说,比 ciw 效率高至少一倍 |
36 Sainnhepark 2023 年 2 月 6 日 via Android <C-v> 选中某一块文本,然后按 c ,效果是删除这一块文本,然后插入新文本,最重要的是新插入的字符会应用到每一列中,可以在一定情况下替代多光标插件。相比于多光标插件,这个特性是内置的,按的键也比多光标插件少,在某些情况下会非常方便,尤其是处理日志的时候。 |
37 ETiV 2023 年 2 月 6 日 via iPhone normal mode 下的 %,可以跳到匹配的代码块的另一端,查看、复制整段代码什么的很有用 JerBrains 里应该是 ctrl-m |
38 Sainnhepark 2023 年 2 月 6 日 via Android 顺便楼上提到的 text object ,其实可以装插件扩展,GitHub 上搜 textobj user ,有很多第三方 text object ,我最常用的三个是 text-obj-line 用来选中当前行,textobj-url 选中当前链接以及 textobj-entire 选中当前 buffer 的所有文本。 |
39 cwcc 2023 年 2 月 6 日 我现在就会用 : 加个数字挑行,? 加文字搜索,:wq 保存退出,ZZ 没修改看一眼的文件直接退出,:q! 修改了但不想保存并退出,dd 删掉一行,i 插入。写点简单的都够用了。 对了,一旦某一天用 vim 用多了,我就习惯性地在 IDE 里先按下 Esc ,然后莫名在某个地方输入了 :wq ,之前老是保存这个东西。 |
40 ETiV 2023 年 2 月 6 日 via iPhone 哦对 GitHub 上可以搜到一个 server 用的 vimrc 配置文件,我现在在用这个(稍微改了一下)。 里面预置了不少快捷键,比如可以在 input mode 用 F2 切换 :set paste 啥的,都是超级实用的东西 |
41 ETiV 2023 年 2 月 6 日 via iPhone |
42 ChengLuffy 2023 年 2 月 6 日 set mouse=a 在终端 vim 中使用鼠标 |
43 geebos PRO 学到了,我一直是 b 移到头部再 cw |
44 guss0x625 2023 年 2 月 6 日 ....... |
45 Longerrrr 2023 年 2 月 6 日 ctrl + v 进入竖编辑模式 选择一列数字 ctrl + a 选择的数字会递增 |
46 Longerrrr 2023 年 2 月 6 日 漏了个, 选中后按 g ( globaly) 再 ctrl + a |
47 654656413245 2023 年 2 月 6 日 :wq 保存并退出,无论有无修改均更新时间戳 :x 保存并退出,无修改时不更新时间戳 |
48 derek80 2023 年 2 月 6 日 Ctrl + o 的确用的最多。楼上好多没用过的命令,大家有没有汇总的手册可以随时查的? |
49 lopda 2023 年 2 月 6 日 e~请查阅《 Vim 实用技巧》 |
50 opengps 2023 年 2 月 6 日 不应该是 Ctrl+C ,Ctrl+Q 吗?从 win 过来的新人都会犯的错误 |
52 ethusdt 2023 年 2 月 6 日 cs"' change suround "" to '' |
53 windy0925 2023 年 2 月 6 日 . |
54 Ingo 2023 年 2 月 6 日 ZZ 保存并退出当前 buffer 。 |
55 windy0925 2023 年 2 月 6 日 敲错了直接发出去了。接上一条,就是.这个命令 |
56 xuminzhong 2023 年 2 月 6 日 @JackieMe 感谢,挺有用的,Got 。 |
57 wangerka 2023 年 2 月 6 日 |
58 notgoda 2023 年 2 月 6 日 via iPhone @Sainnhepark 你好,请问 ctrl -c 是进入视觉编辑模式? 然后要怎么选中某一块文字呢?除了用鼠标之外 |
59 notgoda 2023 年 2 月 6 日 via iPhone @Sainnhepark @akring 请问大家在 vim 怎么选中某一块文字?是先 CTRL-v 进入进入视觉编辑模式? 然后要怎么选中?除了用鼠标之外。复制是用什么快捷键呢? +yy 只能复制当前行 |
60 xiaket 2023 年 2 月 6 日 宏然后批量 apply |
61 lewis0xx001 2023 年 2 月 6 日 @szyp 66666~ |
62 webcape233 2023 年 2 月 6 日 via iPhone 进入 visual block 模式 向下按多行 键入 shift i 增删一些东西 按两下 esc 完成了多行编辑 |
63 testcase1 2023 年 2 月 6 日 gv |
64 Sainnhepark 2023 年 2 月 6 日 via Android @notgoda hjkl 或方向键呀,你怎么在 visual mode 选的就怎么选呗 |
65 testcase1 2023 年 2 月 6 日 help substitute |
67 testcase1 2023 年 2 月 6 日 vim.keymap.set("n", "j", "gj", opt) vim.keymap.set("n", "k", "gk", opt) |
68 testcase1 2023 年 2 月 6 日 最后 最牛逼的 vim 命令 : nvim |
69 ljpCN 2023 年 2 月 6 日 参见 vim cheat sheet: https://www.vimcheatsheet.com/ |
70 bjzhush 2023 年 2 月 6 日 说真的,现在看到这些命令都需要思考下才能明白了,但是我用起来一点问题没有,因为已经都是下意识操作了,十几年了 |
71 superrichman 2023 年 2 月 6 日 via Android 那一定是 ctrl q, 因为 vim 里习惯性按到 ctrl s 就死了 |
72 mangoDB 2023 年 2 月 6 日 %s/foo/bar/g replace 功能 |
73 simo 2023 年 2 月 6 日 qa -> q -> n@a |
74 Al0rid4l 2023 年 2 月 6 日 gg=G |
75 kergee 2023 年 2 月 6 日 加密 :X(大写的 X) 16 进制显示 :%!xxd |
76 techstay 2023 年 2 月 6 日 浏览器常驻页面,忘了什么就在点进去看看 https://github.com/techstay/awesome-cheatsheets/blob/master/editors/vim.txt |
77 gogorush 2023 年 2 月 6 日 yi 某个符号或者 w 。 w 代表当前的 word 某个符号代表某个符号限定范围内,特别适合复制“”,‘’这个符号内的内容 |
78 0xLittleFi 2023 年 2 月 6 日 viw 选中单词 vi) 选中 '()'内的东西 同理:vi} 大括号 f 搜索 fb fa 选中右边第一个 b a 字母 ; 重复执行之前输入过的流程 比如 fb ; ; ; ; 一直搜索后面的 b 字母 |
79 dorothyREN 2023 年 2 月 6 日 @jorneyr #9 我选择 SHIFT+ZZ |
80 macscsbf 2023 年 2 月 6 日 看《 vim 使用技巧》在学习中 |
81 nag 2023 年 2 月 6 日 分享下我的 vimrc 的几个配置 直接在 Normal 和 Visual 模式下直接用 Tab 和 Shift-Tab 缩进,这样就不用先进入 Insert 模式再按 tab: nmap <tab> v> nmap <s-tab> v< vmap <tab> >gv vmap <s-tab> <gv 按下 <leader>W 可以清除当前文件每一行中的最后的空格: nnoremap <leader>W :%s/\s\+$//<cr>:let @/=''<CR> |
82 Fatinora 2023 年 2 月 7 日 宏,vim 最强大的特性。 |
83 sanebow 2023 年 2 月 7 日 via iPhone 来说个简单好用的,xp ,当两个字符前后打反时可以调换过来,比如 mian -> main |
85 pooorguy 2023 年 2 月 7 日 |
86 gw4gw 2023 年 2 月 7 日 进来学技能 |
87 xujiabin 2023 年 2 月 7 日 vep, 替换 word(从剪贴板) |
88 wisetc 2023 年 2 月 7 日 :x close |
89 likeme 2023 年 2 月 7 日 很少用 vim 了。。改文件都是用 idea 打开再上传 hhh |
90 Bingchunmoli 2023 年 2 月 7 日 via Android 只会 wq ! q 路过,说实话 open wrt 等各种奇怪设备有时 vim 有 bug 有时 nano 有 bug 换着用 |
91 mangoDB 2023 年 3 月 9 日 :set nu # 显示行号 :set nonu # 关闭行号 :nohl # 关闭高亮 / 查找 ? 查找(反向) |