Что такое GVim: немного обGUIфицированная версия Vim. Что, впрочем, не мешает использовать ее без GUI-фич, просто мне шрифты показались там глаже.
По умолчанию GVim каждый файл открывает в отдельном окне, что не есть гуд. Даже Gedit открывает их во вкладках одного окна (если не глючит). Немного почитав доки, накидал вот такой скрипт:
#!/bin/bash
GVIM_COUNT=`ps -A | grep gvim | wc -l`
if [ $GVIM_COUNT -gt 0 ]; then
/usr/bin/gvim --remote-silent "$1"
else
/usr/bin/gvim "$1"
fi
Сохранил его в домашнюю папку:
/home/kawaikunee/bin/g_vim.sh
и сделал исполняемым:
chmod +x /home/kawaikunee/bin/g_vim.sh
Скрипт ищет запущенный инстанс GVim, если его нет - то открывает файл в обычном режиме в GVim, если есть - открывает его с параметром --remote-silent, в уже существующем окне. Если запустить с этим параметром сразу, то будет сначала открыт GVim, затем в нем создан пустой документ, а потом добавлен редактируемый файл. Итого - ненужный "Безымянный документ". Поэтому сначала проверим - есть открытое окно или нет.
Дальше откроем файл с правами администратора:
sudo gedit /usr/share/applications/gvim.desktop
Находим строку "Exec=gvim" и изменяем слово gvim на полный путь к своему скрипту:
Exec=/home/kawaikunee/bin/g_vim.sh %F
Сохраняем, проверяем. Теперь, открывая файлы с помощью GVim из Nautilus, все они будут в одном окне.
P.S. Естественно, у вас должен быть установлен vim-gnome.
Показаны сообщения с ярлыком vim. Показать все сообщения
Показаны сообщения с ярлыком vim. Показать все сообщения
2012-05-28
2011-04-01
VIM: убрать подчеркивание в html-тегах ссылок
Меня это немного достало. Если описывать ссылку на нескольких строках, то все они будут подчеркнуты. Вот как можно убрать это (найдено здесь):
1) Создать каталог для синтаксиса, если еще не создан
mkdir -p ~/.vim/syntax2) Скопировать файл синтаксиса html по умолчанию в этот каталог
cp /usr/share/vim/vim72/syntax/html.vim ~/.vim/syntax/
3) Открыть файл для редактирования
vim ~/.vim/syntax/html.vim
4) Найти в нем строку
HtmlHiLink htmlLink Underlined
5) Закомментировать ее (мне не помогло) или изменить Underlined на что-то другое, например htmlBold.
Перезапускаем VIM - проблема решена.
2009-08-18
Редактируем текст в Firefox через Vim
Сразу к делу. Для того, чтобы редактировать тексты в полях форм интернет-страниц, для браузера Firefox есть замечательный плагин "It's all text!". Его настройки позволяют задать в том числе и горячую клавишу, что само по себе прекрасно. Представьте - переходите в поле ввода, чтобы отписаться на форуме или в гостевой, нажимаете сочетание клавиш - и пишете в вашем любимом редакторе, а сохраняя текст тем самым отправляете его в браузер. Красота!
Но что, если вы хотите воспользоваться консольным Vim?
При настройке плагина нужно указать полный путь к файлу редактора. Ну и запустим мы Vim. Ну и будет он где-то в бэкграунде. Неудобно! Нужно завернуть vim в консоль.
Хотел бы я воспользоваться таким способом, да только параметры запуска плагин не передает как надо. Что, руки вверх?
На помощь к нам спешит скрипт из трех строк. Я накидал его на питоне, но наверняка можно и десятком других способов. Делаем скрипт исполняемым и в настройках плагина указываем путь к нему. Назначаем горячую клавишу (у меня это Alt-W) и радуемся удобству.
#!/usr/bin/env python
import os,sys
os.system('gnome-terminal -e "vim %s" ' % sys.argv[1])
Или на bash:
#!/bin/bash
gnome-terminal -e "vim \"$*\""
Но что, если вы хотите воспользоваться консольным Vim?
При настройке плагина нужно указать полный путь к файлу редактора. Ну и запустим мы Vim. Ну и будет он где-то в бэкграунде. Неудобно! Нужно завернуть vim в консоль.
Хотел бы я воспользоваться таким способом, да только параметры запуска плагин не передает как надо. Что, руки вверх?
На помощь к нам спешит скрипт из трех строк. Я накидал его на питоне, но наверняка можно и десятком других способов. Делаем скрипт исполняемым и в настройках плагина указываем путь к нему. Назначаем горячую клавишу (у меня это Alt-W) и радуемся удобству.
#!/usr/bin/env python
import os,sys
os.system('gnome-terminal -e "vim %s" ' % sys.argv[1])
Или на bash:
#!/bin/bash
gnome-terminal -e "vim \"$*\""
2009-08-11
VIM: как назначить запуск скриптов на горячую клавишу
Задача: по нажатию F5 передавать скрипт разным программам, в зависимости от расширения файла (как это реализовано в SciTE).
Вот пара вариантов ее решения. Просто добавим в ~/.vimrc один из этих блоков.
1) Написание функции:
function Run()
let $ext=expand("%:e")
if $ext=="py"
!/usr/bin/env python "%"
elseif $ext=="php"
!/usr/bin/env php "%"
elseif $ext=="html" | $ext=="mako" | $ext=="htm"
!firefox "%"
endif
endfunction
map <F5> :call Run()
Здесь мы получаем расширение файла % через модификатор :e, присваиваем его переменной $ext, после чего по этому признаку решаем, что будем делать с файлом. Потом привязываем вызов функции к горячей клавише F5.
2) Использование автокоманд:
autocmd BufEnter *.py map <F5> !/usr/bin/env python %
autocmd BufLeave *.py unmap <F5>
autocmd BufEnter *.php map <F5> !/usr/bin/env php %
autocmd BufLeave *.php unmap <F5>
Теперь при редактировании скрипта за F5 закреплена команда запуска, а при потере фокуса эта привязка сбрасывается.
Оба способа имеют право на существование, но я остановился на первом.
P.S. Мой .vimrc
Вот пара вариантов ее решения. Просто добавим в ~/.vimrc один из этих блоков.
1) Написание функции:
function Run()
let $ext=expand("%:e")
if $ext=="py"
!/usr/bin/env python "%"
elseif $ext=="php"
!/usr/bin/env php "%"
elseif $ext=="html" | $ext=="mako" | $ext=="htm"
!firefox "%"
endif
endfunction
map <F5> :call Run()
Здесь мы получаем расширение файла % через модификатор :e, присваиваем его переменной $ext, после чего по этому признаку решаем, что будем делать с файлом. Потом привязываем вызов функции к горячей клавише F5.
2) Использование автокоманд:
autocmd BufEnter *.py map <F5> !/usr/bin/env python %
autocmd BufLeave *.py unmap <F5>
autocmd BufEnter *.php map <F5> !/usr/bin/env php %
autocmd BufLeave *.php unmap <F5>
Теперь при редактировании скрипта за F5 закреплена команда запуска, а при потере фокуса эта привязка сбрасывается.
Оба способа имеют право на существование, но я остановился на первом.
P.S. Мой .vimrc
Подписаться на:
Сообщения (Atom)