通過在vim中使用遠程功能,是否可以重新使用vim實例來根據需要加載多個文件。從linux終端複用vim實例
從同一個終端實例中獲取該設施將會很好。
我更渴望有一個基於選項卡界面,這在VIM 7+ 可用的情況下應該是
- 打開終端
- VIM file1.cpp
- 編輯 - 保存 - 按Ctrl + Z到得到提示
- 打開另外一個文件
- VIM file2.cpp
- 現在我們有file1.cpp和file2.cpp在同一個編輯器
開放這是可能的?
通過在vim中使用遠程功能,是否可以重新使用vim實例來根據需要加載多個文件。從linux終端複用vim實例
從同一個終端實例中獲取該設施將會很好。
我更渴望有一個基於選項卡界面,這在VIM 7+ 可用的情況下應該是
開放這是可能的?
我有幾個建議給你,雖然兩者都不是你正在談論的。第一個是NERD Tree,它爲您提供了一個很好的基於樹的文件瀏覽器來打開其他文件。非常便利。我還設置了一個熱鍵(ctrl+o
)爲我打開NERD Tree。我保持我在~/curr/trunk
任何項目的別名,所以這總是對我的作品:
map <C-O> :NERDTreeToggle ~/curr/trunk/<CR>
,我會建議的另一件事是用CTRL + Z做掉。它有點笨重,我認識的每個使用這種方法的人都會迷失方向,最終會在後臺運行3或4個vim。看看如何爲自己打開一個shell。我使用的是地圖; S執行shell腳本:
map ;s :!~/.vim/shell.sh<CR>
,其執行:
#!/bin/sh
/usr/local/bin/bash -l;
我也有一點神奇的在我的.profile製作很明顯我在VIM :
if [ "$VIMRUNTIME" != "" ] ; then
export PS1="\[email protected]\h \W \t$ vim> "
fi
</2美分>
您可以分割以下列方式將當前屏幕和開放兩個(或多個)文件:
對於水平分割,做:
:sp 'filename'
和垂直分割,這樣做:
:vsp 'filename'
要在兩者之間選中,請按ctrl + w,然後使用箭頭鍵導航到要編輯的文件。
另外,如果你只想轉換文件(只有一個開放的),你可以這樣做:
:e 'filename'
您可以設置hidden
功能上VIM,使其能夠打開多個文件:
:set hidden
然後你可以根據需要打開多個文件,而不打擾他們要切換每次保存一個「緩衝」:
:e 'filename'
你有幾個命令來瀏覽緩衝區:
:bnext
:bprev
:buffers
當然,如經samoz提到的,你可以分割你的屏幕上看到同一窗口上的多個緩衝區。
我建議閱讀this關於vim的好介紹,它會爲您節省很多時間。
祝你好運!
天兒真好,
或者,如果你想有多個文件,但同時使用整個Vim窗口的一個文件,你可以只輸入
:e 'filename'
打開新文件。你可以多次這樣做。要查看你目前有打開,進入
:ls
要你有打開的文件之間的反彈可以使用cntl- ^(移CNT-6)和主,副之間的交替會文件
或者你可以輸入(在文件列表中%和#所示)
:n b
,其中n是由「LS」中展示的列表中選擇所需的文件的開頭的數字命令。
HTH
歡呼聲,
我不知道這是否可以在正是你指定的方式進行,但非常類似的東西大概可以使用上運行的Vim服務器來完成你的本地機器。
查看Vim中的:help remote.txt
。
如果您的vim版本編譯爲+clientserver
,您可以使用vim創建vim服務器,然後在其上執行命令,例如,打開另一個文件。
--servername
交換機可以創建一個新服務器,並且--remote
交換機可以向其發送附加命令或文件。
例如
vim --servername test file1.txt
vim --servername test --remote file2.txt
我當時一看,我現在把它用作對Xubuntu的標準在我的電腦之一VIM沒有它,但也有一些指令here,可以幫助你,如果它已經編譯。如果不是,安裝gvim和symlinking顯然是一個選項(因爲gvim默認包含它),或者從源代碼編譯二進制文件。
編輯:
我有更多的與gvim的戲,這看起來並不可能在終端內做到這一點。 Control-Z在流程級別掛起作業。我認爲它可能適用於屏幕,但似乎沒有溝通似乎發生,除非gvim已經在圖形窗口中啓動,
作爲對您的編輯的迴應,如果在C-Z之後,您對該過程進行了過濾以避免它被暫停,它會起作用嗎? – 2010-08-27 13:14:10
我走了完全一樣的路線。事實上,在進行遠程調用之前,通過使用包裝腳本來使用bash的作業管理來將vim踢回生活中更進一步。它確實有效,但成功很不穩定。 – 2010-11-13 15:25:09
這是很容易做到,如果你編譯VIM與+clientserver
,作爲Andy suggested in a previous answer。
我做了以下內容:
我開始了VIM作爲服務器:
vim --servername abc
我CTRL+Z
暫停它,做的:
vim --servername abc --remote ~/.cshrc
fg
現在VIM有~/.cshrc
開放。
然後我做:
vim --servername abc --remote ~/.aliases
fg
現在VIM有一個緩衝帶~/.cshrc
,另一個~/.aliases
。
然後我做:
vim --servername abc --remote-tab ~/foo_bar
fg
現在我VIM曾與前兩個緩衝區,並開放與~/foo_bar
打開另一個選項卡一個選項卡。
在通話情況下,VIM在終端中運行,而不是GUI。
Jack M.s的回答當然是正確的,但這是一個更簡單的解決方案。 – 2009-06-19 15:15:27