Хочется подсветки синтаксиса, возможность редактирования нескольких файлов, работа с окнами и прочие мелочи.
Можно конечно использовать Kate или какого нибудь тяжеловеса, такого как Eclipse. Но как быть при работе через ssh?
sshfs? а если нужно будет по корню пробежаться? монтировать весь корень?
git? и везде оставлять копию репозитория?
может кто нашел для себя иное решение - я остановился на vim.
P.S. а ещё я пристрастился к вимператору, не хватает только некоторых возможностей, думаю стоит попробовать себя в виде программера плагинов к лисе.
Вот мой конфиг, который я удачно содрал откуда-то. Естественно, я буду его править время от времени.
syntax on
" Выключаем совместимость с Vi для подсветки поиска
set nocompatible
" Включаем распознавание типов файлов
filetype on
filetype plugin on
" Показывать незавершенные команды в статусбаре
set showcmd
" Нумерация строк
set number
" Поддержка мыши
set mouse=a
set mousemodel=popup
" Скрыть указатель мыши во время набора текста
set mousehide
" Ширина строки команд в одну строку
set ch=1
" Подсветка синтаксиса
syntax enable
hi comment ctermfg=cyan
set autoindent
" Цветовая схема
colorscheme wombat
" Не создавать резервных копий файлов
set nobackup
set noswapfile
" автоматический фолдинг
set foldmethod=indent
" Поиск по набору текста
set incsearch
" Отключение подсветки найденных вариантов
set hlsearch
" Не выгружать буфер когда переключаешься на другой
set hidden
" Скрыть панель в gui версии
set guioptions-=T
" Включить автоотступы
set autoindent
" Преобразовать Таба в пробелы
set expandtab
" Размер табуляции по умолчанию
set shiftwidth=4
set softtabstop=4
set tabstop=4
" Установка тaбов для Python
set smarttab
" Формат строки состояния
set statusline=%<%f%h%m%r\ %b\ %{&encoding}\ 0x\ \ %l,%c%V\ %P
set laststatus=2
"Умные" отступы (например, автоотступ после {)
set smartindent
" Опции сессии
set sessionoptions=curdir,buffers,tabpages
" Просмотр нетекстовых файлов в Vim -->
au BufReadPost *.pdf silent %!pdftotext -nopgbrk "%" - |fmt -csw78
au BufReadPost *.doc silent %!antiword "%"
au BufReadPost *.odt silent %!odt2txt "%"
" Просмотр нетекстовых файлов в Vim <--
"--------------------------
" ГОРЯЧИЕ КЛАВИШИ
"--------------------------
" Пробел в нормальном режиме перелистывает страницы
nmap
" CTRL-F для omni completion
imap
" F2 - быстрое сохранение
nmap :w
vmap :w
imap :w
" F3 - просмотр ошибок
nmap :open
vmap :copen
imap :copen
" F4 - ctags
nmap :TlistToggle
vmap :TlistToggle
imap :TlistToggle
" F5 - просмотр списка буферов
nmap :BufExplorer
vmap :BufExplorer
imap :BufExplorer
" F6-предыдущий буфер
map :bp
vmap :bpi
imap :bpi
" F7 - следующий буфер
map :bn
vmap :bni
imap :bni
" F9 - "make" команда
map :make
vmap :makei
imap :makei
" F10 - удалить буфер
map :bd
vmap :bd
imap :bd
" F11 - обозреватель файлов
map :WMToggle
vmap :WMTogglei
imap :WMTogglei
" < & > - делаем отступы для блоков
vmap < >gv
" Выключаем ненавистный режим замены
imap >Ins> i
" Редко когда надо [ без пары =)
imap [ []
" Аналогично и для {
imap { {}O
" С-q - выход из Vim
map :qa
" Ускоренное передвижение по тексту
nmap 5h
nmap 5j
nmap 5k
nmap 5l
" Более привычные Page Up/Down, когда курсор остаётся в той же строке,
" а не переносится вверх/вниз экрана, как при стандартном
" PgUp/PgDown.
" Поскольку по умолчанию прокрутка по C-U/D происходит на
" полэкрана,
" привязка делается к двойному нажатию этих комбинаций.
nmap
imap
nmap
imap
au BufNewFile,BufRead *.tt setf tt2html
:let b:tt2_syn_tags = '\[% %]'
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType tt2html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType c set omnifunc=ccomplete#Complete
autocmd FileType cpp set omnifunc=cppcomplete#Complete
" Показываем все полезные опции автокомплита сразу
set complete=""
set complete+=.
set complete+=k
set complete+=b
set complete+=t
" Перед сохранением вырезаем пробелы на концах (только в .py файлах)
autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
" В .py файлах включаем умные отступы после ключевых слов
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
" Колоночка, чтобы показывать плюсики для скрытия блоков кода:
set foldcolumn=1
почти как IDE
ОтветитьУдалить