LINUX.ORG.RU

Каким текстовым редактором пользуетесь для удалённого редактирования?

 , ,


2

2

Что-то совсем застрял с редакторами.
Что пробовал:

  • Vim
  • Mg
  • Joe editor
  • Micro

Какая задача - удобный редактор для редактирования большинства ЯП и конфиг файлов, который имеет один файл для конфигурации (Ansible передаёт привет).

У Vim с отступами беда, MG/Joe - та же проблема, micro - сочетания клавишь по умолчанию ужасны, как поставить emacs/vim сочетания - не допёр.

Кому интересно - отказался от Vim (без настроек передёргивать на режим и тыкать по сто раз Esc и i,I,a,A?)
Как полноценная средо он говно, так что Emacs locally, nano config и readline hotkeys remotely.



Последнее исправление: Eulenspiegel (всего исправлений: 1)
Ответ на: комментарий от router
set autoindent    " после строки, в которой уже есть отступ, добавлять такой же на новую
" а вот это лишнее и чаще мешает:
set nosmartindent 
set nocindent


" по умолчанию будут tab'ы
"   set expandtab " вставлять пробелы, а не табы
set tabstop=4
set shiftwidth=4


" но иногда пробелы
" в зависимости от типа файла
au FileType yaml setlocal tabstop=2 shiftwidth=2 expandtab
au FileType json setlocal tabstop=2 shiftwidth=2 expandtab
au FileType python setlocal tabstop=4 shiftwidth=4 expandtab

ну и до кучи

syntax on   " подсветка синтаксиса
colors default
set background=dark " считать, что фон терминала - тёмный
highlight Comment ctermfg=darkgreen " цвет комментариев

" задрали менять дефолтное поведение
" не путать буфер vim и иксов
set mouse=


set nocompatible    " отказ от совместимости с vi
set ruler   " показывать координаты курсора в строке состояния
set statusline=%<%f%h%m%r%=%({%{&fileformat},%{&fileencoding},%{&encoding}}%)\ %-6(0x%B%)\ %-10(%l,%c%V%)\ %7P
set laststatus=2


set incsearch   " поиск по мере набора
set hlsearch    " выделение всех найденных слов
" set ignorecase
" set smartcase

"
" *********
" кодировки
" *********
"
" кодировка _всех_ внутренних буферов
set encoding=utf8
" кодировка для сохранения нового файла
set fileencoding=utf8
" кодировки, перебираемые при автоопределении кодировки
set fileencodings=utf8,koi8-r,cp1251,cp866
" кодировка терминала
set termencoding=utf8
" кодировка этого скрипта ;o)
scriptencoding utf8

" *****************
" назначение клавиш
" *****************

map <F8> :execute RotateEnc()<CR>

" сохранение текущего буфера
imap <F2> <ESC>:w<CR>a<CR>
nmap <F2> :w<CR>

" сохранение всех буферов
imap <S-F2> <ESC>:wa<CR>a<CR>
nmap <S-F2> :wa<CR>


" Часто открыто много файлов,
" что бы удобнее было переходить:
" nmap <C-H> :bp<CR>
" imap <C-H> <ESC> :bp<CR>i<Right>
" nmap <C-L> :bn<CR>
" imap <C-L> <ESC> :bn<CR>i<Right>
nmap <C-H> :tabp<CR>
imap <C-H> <ESC> :tabp<CR>i<Right>
nmap <C-L> :tabn<CR>
imap <C-L> <ESC> :tabn<CR>i<Right>


imap <M-W> <Esc>:set<Space>wrap!<CR>a<CR>
nmap <M-W> :set<Space>wrap!<CR>
imap <C-Space> <C-N>" автодополнение по Control+Space


" выход
map <F10> :q<CR>
map <C-F10> :q!<CR>
map <S-F10> :qa<CR>
map <S-C-F10> :qa!<CR>

" проверка орфографии
nmap <F4> :w!<CR>:!ispell -d russian %<CR>:!ispell -d english %<CR>:e! %<CR>

" компиляция и просмотр ошибок
map <F5> :wa<CR>:make<CR><CR>
map <F6> :cope<CR>
"map <F11> :cp<CR>
    " прыгнуть на следующую...
"map <F12> :cn<CR>
    " ...предыдущую ошибку


" *******
" функции
" *******
let b:encindex=0
function! RotateEnc()   " сменить кодировку
    let y = -1
    while y == -1
        let encstring = "#8bit-cp1251#8bit-cp866#ucs-2le#utf-8#koi8-r#"
        let x = match(encstring,"#",b:encindex)
        let y = match(encstring,"#",x+1)
        let b:encindex = x+1
        if y == -1
            let b:encindex = 0
        else
            let str = strpart(encstring,x+1,y-x-1)
            return ":e ++enc=".str
        endif
    endwhile
endfunction

З.Ы. теперь это топик о vim %)

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от Eulenspiegel

КакбЭ - gg,V,G,=

И поплыли отступы в туман.

Кхм. Это какая-то команда для auto reindent. И ты удивляешься, что она внезапно меняет отступы?

Никогда не пользовался и даже не представляю, по каким критериям оно будет угадывать

Если тебе нужно подвинуть конкретный блок, то это >> или <<

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)

Если возникает необходимость что-то поправить удаленно, то использую кейт. Если надо править много удаленно, то понимаю, что я делаю что-то неправильно и пытаюсь исправить.

ya-betmen ★★★★★
()
Последнее исправление: ya-betmen (всего исправлений: 1)
Ответ на: комментарий от Eulenspiegel

А при чем тут редакор и отступы? Ты запускаешь какое-то шаманство, чтобы оно поменяло текст за тебя. Шаман не угадывает, что именно ты хотел. Но ты почему-то думашеь, что проблема в редакторе и отступах

router ★★★★★
()
Ответ на: комментарий от Eulenspiegel

Много легаси, выледил кусок и фформатирую

Ну, ты вообще делаешь это неправильно

Копируй на локальный хост, а там хоть llama или deepseek coder подключай к vscode

И скорее всего, стоит задуматься о git. Или хотя бы sshfs вместо копирования

Т.к. рефакторинг это все же задача для ide, а не редактора

router ★★★★★
()
Ответ на: комментарий от Eulenspiegel

У меня на клавиатуре нет стрелочек и end/begin

Ты бы уточнил это обстоятельство в теме, т.к. оно тут единственное важное. А вот «удалённое» и то что ты хочешь конфиги редактировать - как раз не важно.

Если так тогда vi.

А что мешает нормальную клавиатуру организовать?

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от router

Если нужно автоматически отформатировать какой-то код, то лучше поискать утилиту, которая это делает (google MYLANG code formatter cli). Например, для python это black или yapf3

А если методом тыка прогнать ruby (puppet) код через встроенный форматтер для сишного кода, то «чето все поехало как ежик в тумане» будет ожидаемым результатом

upd. для puppet: https://www.reddit.com/r/Puppet/comments/opcgwb/comment/h6jvdl0/

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от router

У Vim с отступами беда

Скорее, у тебя с vim’ом ;)

Использую vi для редактирования. Размер таба у меня изменен - сделан размером в четыре символа. Ну и как бы не было проблем, но понадобилось как-то редактировать Makefile и долго не мог понять, что за ошибка, оказалось надо что бы таб был размером в восемь символов. Наверно это проблема не редактора vi, но для меня это было неожиданностью. Ну так… размышления по поводу отступов.

ivama
()

внезапно, но cat, почему так выходит:

  • если размер не больше 3-х экранов, то проще себе скопировать, отредактировать, а потом заcatать обратно, чем возиться с путями, поисками редакторов и пр.
  • если размер условно больше 3-х экранов, то оно определенно должно до сервера долетать какими-то иными путями нежели прямым редактированием
borisych ★★★★★
()