
1 SpiderXiantang 2023-07-30 12:14:26 +08:00 |
2 mabelrussell 2023-07-30 12:14:52 +08:00 光标停留在 ./build/define.sh 任意单词上,然后在 :vsp 后面键入 ctrl+r ctrl+f |
3 SpiderXiantang 2023-07-30 12:15:09 +08:00 :gf |
4 SpiderXiantang 2023-07-30 12:15:22 +08:00 :h gf |
5 amiwrong123 OP @mabelrussell 谢谢,好用 |
6 harttle 203-07-30 12:20:45 +08:00 via iPhone 可以这样搜一下插件:go to file, go to selection 也可以手写个脚本。下面介绍对这个 case 怎么不用鼠标: 1. 复制文件名到寄存器:光标挪到.输入 y$ 2. 粘贴到 command line 模式:输入:vsp 后,按 Ctrl+r ,再输入英文”(需要按着 shift ,抱歉我的 iOS 输入法只能发出来中文引号……) 手头没电脑,大意就是这样。双引号是匿名寄存器的名字,Ctrl+r 是命令模式粘贴。你也可以复制到其它寄存器。 |
7 amiwrong123 OP |
8 harttle 2023-07-30 12:22:25 +08:00 via iPhone 牛逼,原来 gf 直接就有,学习了。 |
9 amiwrong123 OP @SpiderXiantang 好吧,原来是 光标移动到路径上,然后按 gf ,就可以直接跳转。不过就没法分屏看了。 |
10 amiwrong123 OP @SpiderXiantang 好吧,我懂了,先分屏打开同一个文件,再 gf 。哈哈,谢谢。 |
11 amiwrong123 OP @harttle 你这个我也试了,是好用的。用 y 的话,还可以更确切的控制 复制的内容。 |
12 towry 2023-07-30 12:48:06 +08:00 @amiwrong123 你先将光标移动到文件路径上面去啊,然后 :vsp <C-R><C-F>。 运行 `:h <C-F>` 查看帮助。 |
13 SpiderXiantang 2023-07-30 13:08:05 +08:00 光标移动可以使用 f/F/t/T |
14 SpiderXiantang 2023-07-30 13:10:38 +08:00 &t=399s&ab_channel=ThePrimeagen |
15 coldle 2023-07-30 13:17:39 +08:00 主要就是通过<c-r>指令粘贴寄存器内容, 针对你标题的需求就是输入`<c-r>"`, 因为复制的内容在这个`"`寄存器里 |
16 SpiderXiantang 2023-07-30 13:20:36 +08:00 @SpiderXiantang :vsp<CR>fbgf |
17 jzdxeb 2023-07-30 16:35:49 +08:00 via iPhone v 选中 字符 y :vs crlt+r 0 回车 |
18 amiwrong123 OP @SpiderXiantang 还是帖子里的这个内容,我先用:vsp 分屏打开同一个文件,然后 gf 进入了./build/define.sh 的内容,但./build/define.sh 是一个只读文件,但是我又在 insert 模式下修改了一些东西,但这些修改我不想更新到文件里的。 此时我使用:bd 的话,就会提示 no write since last change for buffer 2(add ! to override)。老哥问下这个怎么解决啊 因为文件中其实有这样的内容: source ./build/define1.sh source ./build/define2.sh 目前就是想,先进入看 define1 的内容,再回到当前文件,再进入看 define2 的内容。只是在看 define1 的时候,我改了东西。 网上搜了一下,这些:b 命令是关于到缓冲区的,但是理解不是很深刻。 |
19 SpiderXiantang 2023-07-30 19:29:55 +08:00 > 此时我使用:bd 的话,就会提示 no write since last change for buffer 2(add ! to override)。老哥问下这个怎么解决啊 :q! > 目前就是想,先进入看 define1 的内容,再回到当前文件,再进入看 define2 的内容。只是在看 define1 的时候,我改了东西。 先 :set nohidden 光标到 define1 gf 然后 Ctrl O 回到上一个 buffer 再移动光标到 define2 再 gf buffer 你就当成 缓存就行了,只不过有些隐藏了有些就是你正在看的。 可以先过一下 vimtutor |