2008-09-25 70 views
155

回到我使用议会对于安装在Unix的模式窗口。由于这个网站我现在用的gf命令去光标下的文件。如何从“女友”在Vim中

我正在寻找一个命令之一:

  1. 回归到以前的文件(类似 到按Ctrl +Ť的ctags),或
  2. 重映射gf 自动启动新文件 在新窗口中。

回答

247

我用按Ctrl - Ø

+1

最简单的命令。谢谢! – JayG 2008-09-25 17:39:58

+36

CTRL-O转到跳转列表中较旧的位置, 或CTRL-I转到较新的位置。 – 2008-09-26 10:57:02

+6

现在,如果我能记住这一点。 – g33kz0r 2013-10-24 10:42:14

8

Ctrl键移-6是一个。

:e#↲是另一回事。

+8

该转换不是必需的。停止滥用你的手指。 – Zathrus 2008-09-25 14:42:24

+6

嗯。我是一个老计时器。在几年前我以前在工作的Wyse终端上,Ctrl-6不能使用vi。看,有些东西仍然被蚀刻。而不是在这个组合中使用Shift几乎不会对我的全部手指滥用产生影响。嘿,至少你已经尽力了。 HTH。手。 – tzot 2008-09-25 23:21:07

11

只需使用:e#其次输入 - 这基本上说来编辑昨(最近)文件。

5

我不知道回答你的问题的第2部分,但我可以帮助部分1,使用

:e# 

Vim的维护文件(缓冲区),它的编辑列表。如果你输入

:buffers 

它会列出你正在编辑的所有文件。该列表中带有%旁边的文件是当前文件。旁边有#的那个是备用文件。 :e#将在当前和备用文件之间切换。我没有打那么多,而是将F2映射到:e#,这样我就可以轻松地在当前文件和备用文件之间进行切换。我加入这个映射命令F2来的.vimrc

nmap `<F2> :e#<CR>` 
63

我经常使用按Ctrl - 这一点。

它的方便,因为它可以让我快速跳转来回两个文件之间。

2

当你打开一个新的文件(GF:N或另一个命令)旧的文件保留在缓冲区列表。您可以列出打开的文件与:LS

如果你想在vim缓冲区间轻松导航,你可以创建这样的映射:

nmap <M-LEFT> :bN<cr> 
nmap <M-RIGHT> :bn<cr> 

现在你可以使用Alt缓冲区间切换+左箭头或Alt +右箭头。

上映射的完整文档是在这里:

:help map.txt 
0

我没有看过你的GF命令,但我想它使用:电子:找到命令。
假设这是正确的,只需更换:电子:找到:新(或:V新垂直分割),文件将在一个新的窗口,而不是同一个打开。

例如

 
"Switch between header and cpp 
nmap ,s :find %:t:r.cpp<CR> 
nmap ,S :new %:t:r.cpp<CR> 
nmap ,h :find %:t:r.h<CR> 
nmap ,H :new %:t:r.h<CR> 
nmap ,F :new =expand("<cfile>:t")<CR><CR> 
nmap ,d :new =expand("<cfile>")<CR><CR> 

36

您可能需要使用CTRL-W gf在新标签中打开该文件。

您可以像:bd一样关闭新打开的文件,也可以使用CTRL-6和其他常用方式更改缓冲区。

4

我得到了CTRL-W f的工作。
令人沮丧的是,我花了这么长时间完善这些命令的映射才发现有内置版本。

12

使用gf下载到文件中并使用:bf取回