如何在Vim中编写一个命令来打开多个文件(由参数给出),让每个Vim实例(以及相应的文件)具有自己的特性终端中的标签?使用vim在终端中用单独的选项卡打开* .h文件
我试着这样做,但XFCE4端是有(它一直将8即使TERM == xterm-256color
)与负载256色的问题:
vims()
{
for f; do xfce4-terminal --tab --hold --execute vim $f
done
}
如何在Vim中编写一个命令来打开多个文件(由参数给出),让每个Vim实例(以及相应的文件)具有自己的特性终端中的标签?使用vim在终端中用单独的选项卡打开* .h文件
我试着这样做,但XFCE4端是有(它一直将8即使TERM == xterm-256color
)与负载256色的问题:
vims()
{
for f; do xfce4-terminal --tab --hold --execute vim $f
done
}
如何使用TMUX一个终端窗口中?它使这种自动化更容易。
你可以开始一个新的会话:
tmux new-session -s vims -n vim0 -d "ls [email protected]"
,然后产卵尽可能多的标签,只要你喜欢:
for f in "[email protected]"
do
tmux new-window -t vims -d -n "$f" "vim $f"
done
另外,您得到许多来自其他TMUX乐趣的好处。你可以把你的vim放在中间插入,并在ssh和tmux attach
上完全一样。
我知道你是专门询问每个文件的一个终端选项卡,但下面的shell脚本会在一个单独的Vim的选项卡中打开给它作为参数,每个文件。有关更多详细信息,请参见Vim中的:he tabedit
。
#!/bin/sh
################################################################################
# vim_tabs.sh
# Open a bunch of files in separate terminal Vim tabs
################################################################################
if [[ $# -eq 0 ]]; then
echo "No files to open..."
exit 1
fi
vim_cmd="vim $1"
shift
while [[ $# -gt 0 ]]; do
vim_cmd="$vim_cmd -c \":tabnew $1\""
shift
done
echo "$vim_cmd"
eval "$vim_cmd"
然后,您可以通过执行./vim_tabs.sh "$(ls *.h)"
执行此操作。
你需要或者已经在你的实际代码中有'do'之前的分号。你不需要其他三个分号。 –
你为什么不简单地打开单个Vim实例中的每个文件? – romainl
我更喜欢有独立的终端窗口/标签,它似乎更好地浏览我的终端上的标签比通过vim。 – user1766555