How to open a new file in vim in a new window2012-05-26 unix vim
Is there a way to open vim in a new shell window or tab? I'm used to doing
$ mate file, which opens the file in a new window.
I prefer having one 'central shell' where I issue commands and edit files in other windows or tabs, as necessary. How do people normally open vim files locally?
Check out gVim. You can launch that in its own window.
gVim makes it really easy to manage multiple open buffers graphically.
You can also do the usual
:e to open a new file, CTRL+^ to toggle between buffers, etc...
Another cool feature lets you open a popup window that lists all the buffers you've worked on.
This allows you to switch between open buffers with a single click.
To do this, click on the Buffers menu at the top and click the dotted line with the scissors.
Otherwise you can just open a new tab from your terminal session and launch vi from there.
You can usually open a new tab from terminal with CTRL+T or CTRL+ALT+T
Once vi is launched, it's easy to open new files and switch between them.
from inside vim, use one of the following
open a new window below the current one:
open a new window beside the current one:
:vert new filename.ext
If you don't mind using gVim, you can launch a single instance, so that when a new file is opened with it it's automatically opened in a new tab in the currently running instance.
to do this you can write:
gVim --remote-tab-silent file
You could always make an alias to this command so that you don't have to type so many words.
For example I use linux and bash and in my
~/.bashrc file I have:
alias g='gvim --remote-tab-silent'
so instead of doing
$ mate file I do:
$ g file
You can do so from within vim and use its own windows or tabs.
One way to go is to utilize the built-in file explorer; activate it via
:Texplore for a tabbed interface (which I find most comfortable).
:Sexplore) will also guard you from accidentally exiting the current buffer (editor) on
:q once you're inside the explorer.
To toggle between open tabs when using tab pages use
gT (next tab and previous tab, respectively).
See also Using tab pages on the vim wiki.
I use this subtle alias:
alias vim='gnome-terminal -- vim'
-x is deprecated now. We need to use -- instead
I'm using the following, though it's hardcoded for
gnome-terminal. It also changes the CWD and buffer for vim to be the same as your current buffer and it's directory.
:silent execute '!gnome-terminal -- zsh -i -c "cd ' shellescape(expand("%:h")) '; vim' shellescape(expand("%:p")) '; zsh -i"' <cr>
- How do I exit the Vim editor?
- How to duplicate a whole line in Vim at Eclipse?
- Turning off auto indent when pasting text into vim
- How to effectively work with multiple files in Vim
- Vim clear last search highlighting
- How to do case insensitive search in Vim
- Vim 80 column layout concerns
- Close file without quitting VIM application?
- How to replace a character by a newline in Vim
- How does the vim "write with sudo" trick work?