用vim打开 *.h文件,并在终端中带有单独的选项卡



我如何编写一个命令,该命令将在vim中通过参数给出的多个文件,在终端中给出每个vim实例(和相应的文件)?

我尝试这样做,但是XFCE4-terminal在加载256种颜色时遇到问题(即使在TERM == xterm-256color时,它也会继续达到8个):

vims ()
{
        for f; do xfce4-terminal --tab --hold --execute vim $f
        done
}

在单个终端窗口中使用tmux怎么样?它使这种自动化变得更加容易。

您可以使用以下方式开始新的会话:

tmux new-session -s vims -n vim0 -d "ls $@"

,然后随心所欲地产卵:

for f in "$@"
do
    tmux new-window -t vims -d -n "$f" "vim $f"
done

另外,您还可以从Tmux那里获得许多其他有趣的好处。您可以将VIM留在中插入中,然后在tmux attach中插入SSH。

我知道您是每个文件的终端选项卡,但是以下shell脚本将在单独的 vim tab中打开每个文件作为参数。有关更多详细信息,请参见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)"

相关内容

  • 没有找到相关文章

最新更新