最近写代码发现竖分三栏对我来说利用率最好了,所以想着怎么可以在 vim/zsh/tmux 中操作一下。在网上找了一圈,大家都是在说如何手动分割,但是手动分割我知道如何操作,缺点在于每次都需要手动分割调整,所以我想要更自动化一点:每次打开 vim/zsh/tmux 就可以直接显示下图的这种效果:
当然上面三张图是我手动分割的,第一张是 iTerm 自带的分割方式,第二张是通过 tmux 进行的分割,第三张是 vim 下 vsp 分割的。
有了解的 v 友可以提供个思路嘛?
ps: 如果是在 vim 启动后显示三栏,需要单独找到文件然后打开,繁琐了一点。如果在 zsh/tmux 中设置的话,可以直接用 vim 打开文件,或许后者是我更需要的。
1
jdhao 2020-10-12 13:30:34 +08:00 via Android
vim 和 tmux 肯定可以,就是相当于启动的时候执行一些特定的命令,按这个方向搜索能找到需要的东西。
zsh 不清楚 |
2
no1xsyzy 2020-10-12 13:45:04 +08:00
vim 只要把 : 指令直接写在 .vimrc 最后就行, .vimrc 相当于启动后自动帮你执行一些语句。
tmux 不清楚,不过记得类似 screen 来着,也是那套传统 Unix 做法 rc = run commands,本意就是启动后先运行一些命令 zsh 本身有三栏功能吗? |
4
Tink 2020-10-12 14:43:18 +08:00
tmux_init()
{ tmux new-session -s "auto" -d -n "auto" tmux split-window -h tmux split-window -h tmux select-layout even-horizontal tmux select-pane -L tmux select-pane -L tmux -2 attach-session -d } |
5
lazydog OP @Tink 感谢你的方法,这个可以完美解决 tmux 三屏的问题,不过还需要添加
if which tmux 2>&1 >/dev/null; then test -z "$TMUX" && (tmux attach || tmux_init) fi 到 zshrc 或者 bashrc 中。 |
6
null 2020-10-12 15:08:05 +08:00
|
7
Tink 2020-10-12 17:11:03 +08:00
|
8
lazydog OP @Tink 啊,是我理解错了,你这个方法直接在 zsh 执行 tmux_init 命令就可以了。我后面添加的那个是会在开启 zsh 是就直接进入 tmux 并分栏,我还在纳闷呢。
|
10
Ingo 2020-10-12 23:37:38 +08:00 via iPhone
vim -s Session.vim 回到关闭前的状态,辅以一些相关小插件,不知道楼主喜欢不喜欢
|