Мне нравится моя команда vi, чтобы открыть файл в Gvim и открыть его в новой вкладке, если Gvim уже запущен.
function vi {
if [[ -z $@ ]]; then
gvim
elif [[ ${1:0:1} = - ]]; then
gvim "$@"
else
gvim --remote-tab-silent "$@"
fi
}
Это работает, но когда я указываю имя файла и оно открывается в существующем экземпляре Gvim, оно не выводит окно на передний план, как на Mac или Windows.
Как сделать так, чтобы при вводе команды «vi file.txt» в терминале Gvim становился активным окном?
Ну, немного грязный, это может быть сделано с помощью xdotool
.
Добавляют это к Вашему сценарию:
xdotool windowfocus `xdotool search --name "/* - GVIM"` && xdotool windowraise `xdotool search --name "/* - GVIM"`
Это ищет окно, названное" [Что-то] - GVIM" и повышение его. Возможно, можно выбрать окно с более определенным заголовком с помощью имени файла и regex, например.
xdotool windowfocus `xdotool search --name "^$filename\s\+\s\(~\)\s-\sGVIM"` && xdotool windowraise `xdotool search --name "^$filename\s\+\s\(~\)\s-\sGVIM"`
, Но, xdotool
, должен быть загружен сначала от apt-get
. Тип sudo apt-get install xdotool
на терминале.
Я использую xdotool также. Такой простой сценарий помогает:
#!/bin/bash
gvim -p --remote-tab $@ ; xdotool search --name "/* - GVIM" windowactivate