Comments 70
Спасибо, для ленивых :)
Вам почетное уважение, за то, что на протяжении такого срока пользуетесь этим редактором! Я бы так не смог, возможно из-за того, что не привык!
как раз дольше пользуясь начнешь и привыкать )
судя с моего опыта — пары-тройки недель терпения достаточно, потом уже в кайф
судя с моего опыта — пары-тройки недель терпения достаточно, потом уже в кайф
Я сперва тоже не особо хотел им пользоваться, но при правке скриптов удалённо приходилось пользовать именно vim, дальше и локально стал его иногда использовать, подстроил под себя. Всё-таки это очень хороший редактор, просто надо его настроить под себя и научиться им пользоваться. «Порог вхождения» в него не самый низкий, но оно того стОит…
Спасибо, узнал много нового, снова левелап :)
set listchars=tab:··
set list
Что-то не хочет работать…
set listchars=tab:··
set list
Что-то не хочет работать…
А если
set encoding=utf8
в самом начале и .vimrc в нём же сохранить?хм, никак. Оно должно работать в консоли? В том же .vimrc в блоках if…
Как раз в новом проекте начал активно использовать VIM. Спасибо за статью — как нельзя кстати!
set listchars=tab:··
работает в файлах с настоящими символами \t, например, откройте Makefile от любого вашего проекта.
для мейкфайлов не забывайте set noet или вводите в мейкфайлах реальные табы как Ctrl-V-TAB.
:retab в открытом буфере причешет табы к текущим настройкам.
работает в файлах с настоящими символами \t, например, откройте Makefile от любого вашего проекта.
для мейкфайлов не забывайте set noet или вводите в мейкфайлах реальные табы как Ctrl-V-TAB.
:retab в открытом буфере причешет табы к текущим настройкам.
А как писать мейкфайлы, если таб ставит 4 пробела?
nmake с этим ладит, а вот make…
nmake с этим ладит, а вот make…
Могу сходу добавить полезную строчку:
set paste #При копипасте корректно проставляются все отступы
set paste #При копипасте корректно проставляются все отступы
Блин. Ну за столько лет ведь можно было понять, что использование vim — бестолковое занятие, и зайузать емакс ^__^
я вижу многих заинтересовала проблема табов в мейкфайлах. вспомнил, что в нашем проекте мы используем
# vim: set tabstop=4 shiftwidth=4 noexpandtab:
комментарии в конце файлов с тегами(modeline), которые вим умеет парсить при открытии:
:h modeline или :h vim:
это потрясающая штука, хранить некоторые настройки для вима в самих исходных кодах проекта.
# vim: set tabstop=4 shiftwidth=4 noexpandtab:
комментарии в конце файлов с тегами(modeline), которые вим умеет парсить при открытии:
:h modeline или :h vim:
это потрясающая штука, хранить некоторые настройки для вима в самих исходных кодах проекта.
Так и не смог привыкнуть к VIM, но не могу не отдать дань уважения, поскольку весьма мощный и гибкий редактор. В руках умелых превращается в удобный и незаменимый инструмент. Автору спасибо за вариант «для ленивых»)
спасибо, я как раз искал курсы джедаев
set ignorecaseЯ ещё добавляю
set smartcase
— Vim ищет игнорируя регистр если искомое выражение не содержит большие буквы, в противном случае учитывает регистр.Отличный .vimrc :) Я ещё всегда использую такие настройки:
set number — показывает номера строк; для программирования очень полезно.
syntax on — активирует syntax highlighting для огромного числа языков программирования, это число можно ещё увеличить с помощью плагинов.
set number — показывает номера строк; для программирования очень полезно.
syntax on — активирует syntax highlighting для огромного числа языков программирования, это число можно ещё увеличить с помощью плагинов.
на самом деле номера строк не особенно нужны. vim позволяет в нормальном режиме перейти к нужной строке
можно сразу при открытии файла параметром к vim передать номер строки, на которую перевести курсор
можно сразу при открытии файла параметром к vim передать номер строки, на которую перевести курсор
кстати да. не все знают, что запуск в коммандлайне vim file.txt +123 сразу после открытия переместит курсор в нужную строчку
Оно-то да, но когда номера в явном виде показываются, как-то нагляднее. Например, если файл большой, сразу видно какой приблизительно сегмент редактируешь.
Хотя, возможно, у меня это просто дань привычке со времен Eclipse/Visual Studio.
Хотя, возможно, у меня это просто дань привычке со времен Eclipse/Visual Studio.
А кстати, почему вы не используете
set encoding=utf8
? Из-за корявой работы русской langmap
в этом случае, или по какой-то другой причине?А может все же выложите весь файл? Он у вас прокомментирован надеюсь? :)
Я, возможно, не прав, но у Вас ошибка в опции fencs — кодировка ucs-2 указана после восьмибитных кодировок, а согласно докам:
vimdoc.sourceforge.net/htmldoc/options.html#%27fencs%27
И чуть ниже даны примеры ошибочных значений.
А максимизировать окно в win32 по-моему проще через стандартную команду:
vimdoc.sourceforge.net/htmldoc/options.html#%27fencs%27
An entry for an 8-bit encoding (e.g., «latin1») should be the last, because Vim cannot detect an error, thus the encoding is always accepted.
И чуть ниже даны примеры ошибочных значений.
А максимизировать окно в win32 по-моему проще через стандартную команду:
au GUIEnter * simalt ~x
А максимизировать окно в win32 по-моему проще через стандартную команду:Не сработает в винде с русским интерфейсом.
Не сработает в винде с русским интерфейсом.
А вот этого не знал, спасибо.
Эта штука эмулирует нажатие <Alt+Space>, а потом клавиши x, которая является шорткатом для Maximize. Но это работает только в англоязычном интерфейсе. Можно наверное попробовать туда вместо x правильную русскую букву подложить, но мне негде проверить. Да и в конфиге прийдется определять язык системы каким-то образом.
Правда я в винде максимизирую с помощью
set lines=999 columns=999
, не знаю зачем автор извернулся с вызовом функции из дллки.хм, с ucs-2 действительно ошибка. но мне не мешает абсолютно. пока будет так. спасибо.
Народ, скажите как правильно в виме вставлять фрагмент кода из буфера. При включенном set ai при вставке текста он лесенкой сдвигается вправо. Каждый раз делать set noai напрягает, а в некоторых случаях еще и не помогает.
Может есть какой-то известный способ?
Может есть какой-то известный способ?
:set pastetoggle=<F2>
и перед вставкой нажать F2.
и перед вставкой нажать F2.
habrahabr.ru/blogs/vim/65518/#comment_1833859
или в конфиге пропишите
set pastetoggle=Теперь когда нужно что-то вставить из буфера, жмёте Ф10, вставили, нажали ещё раз и вернули в прежний режим.
или в конфиге пропишите
set pastetoggle=Теперь когда нужно что-то вставить из буфера, жмёте Ф10, вставили, нажали ещё раз и вернули в прежний режим.
Перед вставкой часто забываешь нажать pastetoggle, поэтому есть другое решение. Можно нажимать после вставки (если табы разъехались) кнопку, на которую забита следующая последовательность:
В данном случае это Ctrl-u
inoremap <silent> <C-u> <ESC>u:set paste<CR>.:set nopaste<CR>gi
В данном случае это Ctrl-u
set pastetoggle=
Спасибо большое за статью
спасибо большое за scrolloff.
set nocompatible конечно же есть. last status и статусная строка имеют вид
set nocompatible конечно же есть. last status и статусная строка имеют вид
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L] set laststatus=2 " always show the status line
nocompatible
устанавливается автоматически, если есть .vimrc или .gvimrc.Для опции
backspace
я бы указал set backspace=indent,eol,start
, так правильнее, нагляднее и понятнее, поддержка set backspace=2
оставлена из соображений совместимости.а фолдингом не пользуемся?
:set foldenable
*жмет :wq вместо кнопки «написать»*
:set foldenable
*жмет :wq вместо кнопки «написать»*
вот бы такую штуку, чтобы он предлагал фолдинги — как kate и другие редакторы.
В смысле, есть вот у меня пара скобочек { и } — а вимчик отображает на левых полях какую-нить кнопоку типа «свернуть в фолд». Такое не знаете как сделать?
В смысле, есть вот у меня пара скобочек { и } — а вимчик отображает на левых полях какую-нить кнопоку типа «свернуть в фолд». Такое не знаете как сделать?
Можно замапить команду
vim.wikia.com/wiki/Folding#Manual_folding
zfa}и вызвать ее внутри блока. Оно создаст фолд между {} и закроет его
vim.wikia.com/wiki/Folding#Manual_folding
set foldmethod=syntax
set foldcolumn=3
Слева появится колонка шириной в 3 символа, обозначающая где какие фолдинги и какого уровня. По ней можно будет кликать для сворачивания-разворачивания. Но кликать мышкой в Vim — это как-то не очень правильно с идеологической точки зрения, быстрее делать всё с клавиатуры.
да, у меня похожий vimrc. Там еще строчек сто настроек всяких плагинов, скриптиков, которые выполняют ctags и прочего. Однажды покорпел над созданием компактного файла системных тегов и добавил
Спасибо за
Еще у меня такая штука есть:
Очень доставляет также
Использование иксового клипборда:
set tags+=~/.vim/systags
Спасибо за
set listchars=tab:··
set list
Еще у меня такая штука есть:
set statusline=%t\ %y%m%r[%{&fileencoding}]%<[%{strftime(\"%d.%m.%y\",getftime(expand(\"%:p\")))}]%k%=%-14.(%l,%c%V%)\ %P
— делает очень информативную статус-строкуОчень доставляет также
set wildmenu
— менюшки в консолькеИспользование иксового клипборда:
set clipboard+=unnamed
Мимо меня когда-то прошла конфигурация, в которой цветом строки статуса показывался текущий язык.
Как это можно сделать?
Как это можно сделать?
Спасибо за
set listchars=tab:··
set list
Я использую такие значения:
set listchars=tab:»\ ,trail:·,eol:¶
Тогда получается совсем как в популярных IDE
Парсер — нехороший человек. А можете как-нибудь читаемей написать?
set listchars=tab:<CTRL-K>>>\ ,trail:<CTRL-K>.M,eol:<CTRL-K>PI
vimdoc.sourceforge.net/htmldoc/digraph.html#digraph-table
Т.е. диграфы >>, .M и PI. Вводятся через Ctrl+K
По-моему, основная мораль статьи — важные конфиги надо класть в VCS
вот если что мой — github.com/simonoff/vimrc/blob/efa0d8f03c0d5a72daed4eb973cb4126e4bdfaf7/.vimrc
вимом пользуюсь наверное уже лет 8…
вимом пользуюсь наверное уже лет 8…
Еще иногда полезна подсветка строки и столбца курсора
:set cursorline
:set cursorcolumn
:set cursorline
:set cursorcolumn
Дополнительно set wrap удобно включить:
Если вам не хочется, чтобы перенесенные строки мешались с номерами строк.
set showbreak=\ \ \ \ \ \ >
Символ > будет зеленый
hi NonText guifg=#0030ff ctermfg=green
Если вам не хочется, чтобы перенесенные строки мешались с номерами строк.
set showbreak=\ \ \ \ \ \ >
Символ > будет зеленый
hi NonText guifg=#0030ff ctermfg=green
Sign up to leave a comment.
.vimrc, который всегда со мной