1
SpiderXiantang 2023-07-30 12:14:26 +08:00 1
|
2
mabelrussell 2023-07-30 12:14:52 +08:00 1
光标停留在 ./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 2023-07-30 12:20:45 +08:00 via iPhone 1
可以这样搜一下插件: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 1
&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 1
> 此时我使用: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 |