Модераторы: ZeeLax, powerfox

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Vim, Удобство работы 
:(
    Опции темы
CyClon
Дата 22.11.2007, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Кто как работает в vim? Какой эмулятор консоли юзаем (или GVIM?), какая цветовая схема, какие опции (.vimrc), для какого языка?

.vimrc
Код
colorscheme desert
set softtabstop=4


Юзаю пока что Konsole (Т.к. DE - KDE, хотя сам эмулятор жутко не нравится). Цвета - зеленый на черном. Язык - PHP.

ЗЫ: Может кто даст ссылку на описание опций vim (которые можно прописать в .vimrc), на русском, или, хотя бы,  на английском?


--------------------
user posted image
PM   Вверх
bilbobagginz
Дата 22.11.2007, 16:53 (ссылка) |    (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 28
Всего: 317



Цитата(CyClon @  22.11.2007,  16:28 Найти цитируемый пост)
ЗЫ: Может кто даст ссылку на описание опций vim (которые можно прописать в .vimrc), на русском, или, хотя бы,  на английском?

к сожалению, нет. полный список опций редактора и его возможностей доступен только купившим лицензионную коробочную версию.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
JackYF
Дата 22.11.2007, 17:07 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 3
Всего: 162



Цитата(bilbobagginz @  22.11.2007,  16:53 Найти цитируемый пост)
к сожалению, нет. полный список опций редактора и его возможностей доступен только купившим лицензионную коробочную версию.


+1. главное, не пытаться искать ман по vim в системе.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
nickless
Дата 22.11.2007, 18:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 18
Всего: 181



Цитата(CyClon @  22.11.2007,  14:28 Найти цитируемый пост)
Какой эмулятор консоли юзаем

А какая разница? Как говорится на вкус и цвет...

Цитата(CyClon @  22.11.2007,  14:28 Найти цитируемый пост)
какая цветовая схема

См. пункт 1

Цитата(CyClon @  22.11.2007,  14:28 Найти цитируемый пост)
какие опции (.vimrc)

.vimrc (во всяком случае у меня) наполняется постепенно, как найду что-нибудь интересное - добавляю.

Если интересно, вот мой .vimrc:
Код
syntax on
set nocompatible
filetype plugin indent on   "enable filetype detection and indentitation

set shiftwidth=4
set tabstop=4
set expandtab               "use spaces instead of tabs
set smartindent
set formatoptions=tcroqln1  "break text and comments after small words, recognize numbered lists and do not break intentionally long lines
"set formatoptions+=a        "also break while inserting, not good for sources
set foldmethod=marker       "fold on fold markers {{{ ... }}}

set textwidth=100
set tpm=100                 "tab page max
set nu                      "line numbers
set ruler                   "show cursor position
set nostartofline           "stay in current column when paging
set wildmenu                "enhanced tab-completion for cmdline

set backspace=2             "delete everywhere with backspace in insert modus
"fixdel                      "try this if backspace and del are not working properly

"make and debug hotkeys and settings
"set makeprg=scons           "set program to execute whet typing :make to scons
set makeprg=make            "set program to execute whet typing :make to default
:map <F9> :tabnew<CR>:make<CR>
:map <F8> :cnext<CR>
:map <F7> :cprevious<CR>
:imap <F9> <ESC>:tabnew<CR>:make<CR>
:imap <F8> <ESC>:cnext<CR>
:imap <F7> <ESC>:cprevious<CR>

"set encoding=utf-8          "utf-8 input incoding
"set fileencoding=utf-8      "utf-8 file encoding
"set bomb                    "enable BOM writing

set background=dark
set hlsearch
hi search ctermbg=Green     "set green background for search highlighting for terminals
hi search guibg=Green       "set - // - for gui
hi Pmenu ctermbg=Brown guibg=Brown gui=Bold     "omnicomplete menu color
hi PmenuSel ctermbg=Gray ctermfg=Black          "omnicomplete selected menu item color
"hi clear                    "use this to get rid of custom highlighting settings
set ignorecase              "case-insensitive search
set smartcase               "but search case-sensitive if there are uppercase letters is search string

set modeline                "enable those lines with settings

"exuberant ctags tags databases for omnicompletion
"create these files with 'ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f OUT_FILE IN_DIRECTORIES
set tags+=~/.vim/qt4tags    "Qt4        ~/.vim/qt4tags /usr/include/qt4
set tags+=~/.vim/sqlitetags "SQLite     ~/.vim/sqlitetags /usr/include/sqlite*
set tags+=~/.vim/stltags    "STL        ~/.vim/stltags /usr/lib/gcc/i686-pc-linux-gnu/*/include
"1.4GB !!!
"set tags+=~/.vim/boosttags  "Boost      ~/.vim/boosttags /usr/include/boost

"for latexsuite
set grepprg=grep\ -nH\ $*

"enable cmake syntax highlighting
:autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in runtime! indent/cmake.vim
:autocmd BufRead,BufNewFile *.cmake,CMakeLists.txt,*.cmake.in setf cmake

"use cindent for C/C++ files
:autocmd BufRead,BufNewFile *.c,*.C,*.cpp,*.cc,*.h,*.hpp,*.H set nosmartindent cindent cinoptions=>s,e0,n0,f0,{0,}0,^0,:s,=2s,l0,b0,g0,hs,ps,ts,is,+s,c3,C0,/0,(2s,us,U0,w0,W0,m0,j0,)5,*30,#0
":autocmd BufRead,BufNewFile *.c,*.C,*.cpp,*.cc,*.h,*.hpp,*.H imap ( ()<ESC>i

"recognize doxygen style comments for C/C++ files and set autoformatting for comments
:autocmd BufRead,BufNewFile *.c,*.C,*.cpp,*.cc,*.h,*.hpp,*.H set com=s1\:/**\ ,m\:*\ \ ,ex\:*/,s1\:/*,mb\:*\ ,ex\:*/,\:///\ ,\:// flp=^\\(\\s*\\*\ \ @\\)\\\|\\(//\\) fo=croqaln1 tw=100

"options for scons files
:autocmd BufRead,BufNewFile SConstruct,SConscript,SInstall set ft=python tw=100 fo-=a com=b\:#\ \ ,b\:#\
"workaround for german bash :D
":autocmd BufRead phun-de.txt imap <Space><Space>< <CR><
:autocmd BufRead phun-de.txt imap <Space>< <CR><

"configuration for PHP
:autocmd BufRead,BufNewFile *.php,*.phtml set com=s1\:/*\ ,m\:*\ ,ex\:*/,\:// flp=^\\(\\s*\ @\\)\\\|\\(//\\) fo=croqaln1

"enable closetag script
":autocmd Filetype html,xml,xsl source /usr/share/vim/vimfiles/plugin/closetag.vim

"disable fucking cursor blinking in gvim
:set guicursor=n-v-c:block-Cursor/lCursor-blinkon0,ve:ver35-Cursor-blinkon0,o:hor50-Cursor-blinkon0,i-ci:ver25-Cursor/lCursor-blinkon0,r-cr:hor20-Cursor/lCursor-blinkon0,sm:block-Cursor-blinkon0


" " " key mappings " " "
"toggle paste/nopaste mode
set pastetoggle=<F11>
"rebuild ctags batabase for omnicompletion
:map <F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
"insert date/time
:map <Leader>d !!date '+\%d \%b \%Y'<CR>
:map <Leader>D !!date '+\%A, \%-d \%B \%Y'<CR>
:map <Leader>t !!date '+\%T'<CR>
:map <Leader>T !!date '+\%T'<CR>
:map <Leader>T !!date '+\%T \%A, \%-d \%B \%Y'<CR>
:map <Leader>s !!date '+\%s'<CR>
:map tf :tabe <cfile><CR>
"test
":imap <a> <a ></a><ESC>4hi
":imap <body> <body></body><ESC>6hi

"key mappings for non-UTF8 TeX documents
":autocmd BufRead,BufNewFile *.tex imap ä \"a
":autocmd BufRead,BufNewFile *.tex imap ö \"o
":autocmd BufRead,BufNewFile *.tex imap ü \"u
":autocmd BufRead,BufNewFile *.tex imap Ä \"A
":autocmd BufRead,BufNewFile *.tex imap Ö \"O
":autocmd BufRead,BufNewFile *.tex imap Ü \"U
":autocmd BufRead,BufNewFile *.tex imap ß \ss


"enable German spell checking:
":setlocal spell spelllang=de


"remember to run :helptags .vim/doc after installing some plugins with helpfiles


Это сообщение отредактировал(а) nickless - 22.11.2007, 21:02


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
Mayk
Дата 22.11.2007, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



самое интересное у меня без сомнения в ~/.vim/plugin/smart-completition.vim [что-то подобное было в vimtips]
Код

function! s:TryFilenameComplete()
    let cline = getline(line("."))
    let filename_match = '.*\%'.col('.').'c.*'

    let include_head = '^#\s*include\s*'

    " find include statement 
    if cline !~ include_head . '\(<'.filename_match.'>\?\|"'.filename_match.'"\?\)'
        return ""
    endif

    let result = "\<C-X>\<C-F>"

    " find if closing quote/bracket required
    let qt_neccesary = cline =~ include_head . '"[^"]*$'
    let br_neccesary = cline =~ include_head . '<[^>]*$'

    if qt_neccesary
        let result = "\"\<Left>" . result
    elseif br_neccesary
        let result = ">\<Left>" . result
    endif


    return result
endfunction


function! SmartCompletition()
    let fn = s:TryFilenameComplete()
    if fn != ""
        return fn
    endif

    let cline = getline(line("."))
    let under_cursor = cline[col(".")-2]
    if under_cursor =~ "[A-Za-z0-9_]"
        return "\<C-P>"
    endif
    return "\<C-I>"
endfunction


inoremap <expr> <Tab> SmartCompletition()

вообще это штука модифицирует поведение <Tab>а. Если перед курсором стоит то, что может быть началом слова, то выполняется простое автодополнение [как по ctrl-n]. Если же курсор стоит в строке

#include "<вот-тут курсор>"

то нажатие на tab приводит к дополнению до имён файлов. 

ну из прочего интересного в .vimrc
Код

map <C-J> yy:call PushCol()<CR>p:call PopCol()<CR>
map <C-U> yy:call PushCol()<CR>P:call PopCol()<CR>
imap <C-J> <ESC>yy:call PushCol()<CR>p:call PopCol()<CR>a
imap <C-U> <ESC>yy:call PushCol()<CR>P:call PopCol()<CR>a

они дублируют строку, но не перемещают column курсор'а.



это использую в с++ 
Код

imap ##l #include ""<LEFT>
imap ##g #include <><LEFT>
imap ##u using
imap ##n namespace
imap ##d #define




Код

set scrolloff=9999
map <C-\> :s/\s\+$/<cr>$
vmap <C-\> :s/\s\+$/<cr>$
imap <C-\> ^O:s/\s\+$/<cr><end>

по нажатию на ctrl-\ в строке/строках убираются пробельные символы в конце строк.

есть ещё команды для комментирования/раскомментирования текста [вроде для этого есть спец плагин, ну да ладно]
Код

vmap %%%    :s/^/%/<cr>:let @/=""<cr>
vmap %%<del>    :s/^\([     ]*\)%/\1/<cr>:let @/=""<cr>
vmap ###    :s/^/#/<cr>:let @/=""<cr>
vmap ##<del>    :s/^\([     ]*\)#/\1/<cr>:let @/=""<cr>
vmap ///    :s+^+//+<cr>:let @/=""<cr>
vmap //<del>    :s/^\([     ]*\)\/\//\1/<cr>:let @/=""<cr>
vmap //.    :s/^\([     ]*\)\/\//\1/<cr>:let @/=""<cr>
vmap ;;;    :s/^/;/<cr>:let @/=""<cr>
vmap ;;<del>    :s/^\([     ]*\);/\1/<cr>:let @/=""<cr>



ну и совсем не интересные аббревиатуры для Java'ы
Код

abbr <silent> Zspl System.out.println( )^O1<left>
abbr <silent> Zpst printStackTrace()
iabbr <silent> Eaioob ArrayIndexOutOfBoundsException( )<left>
iabbr <silent> Enpe NullPointerException( )<left>
iabbr <silent> Ecnse CloneNotSupportedException( )<left>
iabbr <silent> Ecce ClassCastException
iabbr <silent> Eiae IllegalArgumentException

Zspl моя любимая  аббра smile 

ну и статус
Код

set laststatus=2
set statusline=%{MyStatText()}%<%f\ %h%m%r%=%-14.(%l,%c%V%)%B\ %P

MyStatText в настоящий момент ничего полезного не делает.

Это сообщение отредактировал(а) Mayk - 22.11.2007, 18:55


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
nickless
Дата 22.11.2007, 19:14 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 18
Всего: 181



Забыл сказать про скрипты, для них тоже куча настроек в моём .vimrc smile 
Использую
OmniCppComplete, это вроде intellisence
SmartTabs, настраиваимое автодополнение на <TAB> (Mayk, знаешь о таком?)
EnhancedCommentify, комментирование текста
Alternate, быстрое переключение между *.c(pp) / *.h
TagList, навигация по методам/классам/итд
Больше не помню smile 


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
Mayk
Дата 22.11.2007, 19:29 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: нет
Всего: 134



Цитата(nickless @  22.11.2007,  23:14 Найти цитируемый пост)

SmartTabs, настраиваимое автодополнение на <TAB> (Mayk, знаешь о таком?)

Цитата

This script allows you to use your normal tab settings for the beginning of the line, and have tabs expanded as spaces anywhere else.  This effectively distinguishes 'indent' from 'alignment'.   
 
ыы, не, мне expandtab'а хватает. 

кстати, а вот и нашёлся vimtip, где рассказывалось про автодополнения на tab.
комментарии там жгут


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
CyClon
Дата 23.11.2007, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Я уже замучался... Есть такие, кто юзает KDE + VIM + PHP? Никак не могу выбрать норм подсветку. В консоли выбираю схему Green on Black (как мне кажется, наиболее контрастная). Открываю в vim php файл. Все как-то темно... Пишу set backgorund=dark. Все светлеет, но некоторые элементы покрашены в такие цвета, которые очень сложно различать с черным фоном (например #0000FF и ему подобные).


--------------------
user posted image
PM   Вверх
bilbobagginz
Дата 23.11.2007, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 28
Всего: 317



Цитата

Все как-то темно... Пишу set backgorund=dark. Все светлеет, но некоторые элементы покрашены в такие цвета, которые очень сложно различать с черным фоном (например #0000FF и ему подобные).

сделай себе свою схему цветов, на основе уже существующей.


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
smartov
Дата 25.11.2007, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 4
Всего: 259



bilbobagginz, 
JackYF, 
Цитата(bilbobagginz @  22.11.2007,  15:53 Найти цитируемый пост)
к сожалению, нет. полный список опций редактора и его возможностей доступен только купившим лицензионную коробочную версию.

Я ползал smile
PM MAIL   Вверх
Любитель
Дата 25.11.2007, 02:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: нет
Всего: 92



Цитата(bilbobagginz @  22.11.2007,  16:53 Найти цитируемый пост)
к сожалению, нет. полный список опций редактора и его возможностей доступен только купившим лицензионную коробочную версию.

Ужос smile


--------------------
PM MAIL ICQ Skype   Вверх
bilbobagginz
Дата 25.11.2007, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 28
Всего: 317



жестокий мир. тяжелое детство... ну что вы хотите ?  smile 


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
CyClon
Дата 25.11.2007, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Цитата
сделай себе свою схему цветов, на основе уже существующей. 


Ну, а может есть уже готовые? Или кто-то поделится своей? А то у меня что-то не очень получается :\


--------------------
user posted image
PM   Вверх
nickless
Дата 25.11.2007, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 18
Всего: 181



Цитата(CyClon @  25.11.2007,  16:09 Найти цитируемый пост)
Ну, а может есть уже готовые?

Навалом


--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
CyClon
Дата 26.11.2007, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 838
Регистрация: 3.12.2005

Репутация: нет
Всего: 4



Жуткий гемор с этими консолями, установил GVIM, стало проще smile Меню и Toolbar убрал через опции и от консольного не отличишь smile


--------------------
user posted image
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
pythonwin

В этом форуме предпочтительны вопросы на следующие темы:

  • Конкретные вопросы о конкретном ПО. В таких вопросах желательно привести точные данные о программе: версия программы, версия ОС, версия ядра, и проблему в форме: сделал Х, хотел получить Y, а получил Z.
  • Неконкретные вопросы о выборе ПО
  • Обзоры - как дополнение в ветку Обзоры


  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программное обеспечение под *NIX системы | Следующая тема »


 




[ Время генерации скрипта: 0.0660 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.