LINUX.ORG.RU
решено ФорумTalks

Про emacs финальный спич

 ,


1

6

Попробовал перейти на этот редактор. что я могу сказать...мощный, программируемый, расширяемый. Но все же управление текстом у него хуже, чем у вим. даже, если поставить god-mode, нельзя на стандартных биндах так управлять текстом. конечно же, все это разрулить можно с помощью hydra и своих функций, но это все вопрос не одгого и даже не трех месяцев. а если навернуть сюда вимовские surround, easymotion и прочие, то получится так, что отложим работу и будем заниматься продумыванием куда что забиндить. а на что биндить ? а видимо будет биндится на то, на что забиндено в вим. потому как если начать биндить на свое усмотрение, то потом половину надо будет перебиндивать т.к оно с чем-то будет конфликтовать. итак, потихоньку приходим к мысли о том, что мы из эмакса пытаемся сделать вим. а нужно ли ? скорей всего нет. эмакс имеет свое виденье работы с текстом, вим - свое. не надо из эмакса делать вим и наоборот. итак, ты либо соглашаешься с этой идеологией, либо пол года тебя ждет увлекательный квест по деланью из эмакса вим. хорошо, допустим, мы сделали из эмакса вим. +- что-то забиндилось на другие хоткеи. прошла ломка. что мы имеем в сухом остатке? ради чего это было сделано ? единственное, что приходит на ум - tramp. который нивелируется локальной разработкой+деплой. весь остальной функционал идеинтичен в обоих редакторах. в итоге, я понял одну истину: переход нецелесообразен ввиду отсутствия киллерфич у эмакса, по сравнению с вим. лучшим для себя нашел вариант углубления в вим. всем, кто мне помогал - глубочайшее спасибо.

★★★★

Ответ на: комментарий от ados

Мозгов у тебя нету.

Вам то, мышевозу, откуда это знать?

andreyu ★★★★★
()
Ответ на: комментарий от deep-purple

<esc>v<arrows><shift>I<commentsymbol><esc>
<esc>v<arrows>x/d<esc>
<arrows>

Вот тут у вас рука убежала с клавиатуры.

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

К чему эта демагогия? Я несколько лет по винтикам emacs собирал, потом балдел от возможностей редактирования текста в vim (плагин surround — очень наглядная демонстрация). В итоге мы имеем бедный на фичи vim, из которого очень хочется утащить непосредственно редактор. Evil оказался просто идеальным вариантом (кто бы мог подумать, но действительно полностью эмулирует vim). А spacemacs просто отличный конфиг, который позволяет сразу получить хорошие впечатления от emacs + evil.

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

Я вижу, что много людей в своих высказываниях используют психологические уловки. Твой монолог можно свести к единственному «вот смотри, нормальные юзают <вот это>» при этом используется уловка критического сравнения «<вот это> равно технологически превосходящее <вот то> по всем параметрам. Это чистой воды манипулирование.

Я, говоря об эмакс и вим применил сравнивание двух автомобильных фирм, которые равнозначны по своей сущности.

Входя в твои аналогии: дааа, паровоз и телега. Только телега всё-таки едет, поставщики налажены, кони кушают на лугу. Процесс налажен. А вот паровоз едет, но едет не параллельно рельсам, колёса у него треугольные, а уголь у него должен быть самодельным из определенного дерева, который нужно вырастить из молекул, но бывает так, что вырастишь дерево, превратишь в уголь, а уголь конфликтует с какой-то деталью печи. Можно конечно каждый уголек обтачивать в тетраидр, но при этом паровоз едет в 10 раз медленней повозки с лошадьми. Можно конечно выкинуть вообще печь, собрать из молекул свою печь, но скорость паровоза будет такой же, как и у повозки с лошадьми. При этом тюнингованный вариант всё же прийдется толкать в гору, полностью его разгружая и ехать он сможет только по прямой.

bryak ★★★★
() автор топика
Ответ на: комментарий от vyazovoi

Я несколько лет по винтикам emacs собирал

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

bryak ★★★★
() автор топика

давайте закроем тему evil

  • 1. evil на 98% реализует vi. Не vim.
  • 2. Текущих плагинов явно недостаточно, чтобы перекрыть все топовые плагины под vim
  • 3. Считаем: хоткеи key-chord, хоткеи hydra, хоткеи evil, хоткеи god-mode всякие там org-mode и весь обвес. Как всё это помнить предлагаете. Всё это хозяйство, если вписать evil - взорвёт мозг.

    И главное: ради чего ? Ради элисп ? Ради того, «что это используют нормальные люди» ? Ради каких-то там суперхотелок генерить графику в эмаксе ? Мне - смешно.

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

Текущих плагинов явно недостаточно, чтобы перекрыть все топовые плагины под vim

Ну явное 4.2 же.

Считаем: хоткеи key-chord, хоткеи hydra, хоткеи evil, хоткеи god-mode всякие там org-mode и весь обвес. Как всё это помнить предлагаете. Всё это хозяйство, если вписать evil - взорвёт мозг.

Ну если ты запилил их сразу, то конечно. Но что ты хочешь сделать, ты, надеюсь, помнишь? Берешь counsel-M-x или smex или что-то аналогичное, нажимаешь M-x и начинаешь вводить то, что тебя интересует. Там, в counsel-M-x как минимум, рядом с названием есть комбинация клавиш. Часто используемые быстро запомнишь.

И главное: ради чего ? Ради элисп ? Ради того, «что это используют нормальные люди» ? Ради каких-то там суперхотелок генерить графику в эмаксе ?

Тут уже упоминались tramp, magit и org-mode. В виме подобного даже близко нет. А есть еще, например, SLIME и CIDER. Графика очень органично вписывается при работе с latex и pdf, например. Или с maxima. А некоторые используют org-mode для воспроизводимых исследований, например, в схемотехнике (с помощью расчетов в octave, симуляции в ngspice и графиков gnuplot).

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

magit - мне консольки за глаза для mercurial. да, я могу написать пару функий, чтобы рулить процессом пуша и тд. да и есть готовый плагин для этого дела. но как-то без него получается работать.

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

org-mod - интересно, но смешно т.к планировщиков овердофига, начиная от taskwarrior и заканчивая на телефонах.

графика в редакторе мб кому-то и полезна, но ее можно и отдельно выводить. было бы желание и необходимость.

вот скажи, ради этих мелочей стоит заниматься пол года ребиндами и ломать себя, если текущий продукт покрывает 100% потребностей ?

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

чтобы рулить процессом пуша и тд.

А, например, частичное применение?

taskwarrior

В подмётки не годится

org-mod - интересно, но смешно т.к планировщиков овердофига

org-mode - это далеко не только планировщик. Ссылку я приводил.

вот скажи, ради этих мелочей стоит заниматься пол года ребиндами и ломать себя, если текущий продукт покрывает 100% потребностей ?

Да хоть клинышками на глиняной табличке пиши, только врать не надо:

Текущих плагинов явно недостаточно, чтобы перекрыть все топовые плагины под vim

И ни одного примера. А судя по пафосному заявлению, их как минимум несколько.

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

2. Текущих плагинов явно недостаточно, чтобы перекрыть все топовые плагины под vim

Ты знаешь - ты меня заинтриговал. Я погуглил и посмотрел всякие плагины для vim, но, к сожаленю, не нашёл ничего что-нибудь полезного и того что не умеет мой emacs. Может ты назовёшь какие-нибудь плагины?

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

1. evil на 98% реализует vi. Не vim.

Его достаточно чтобы стащить у vim главное достоинство - специальный режим клавиатурных команд. А зачем мне ещё какой-то хлам из vim вместо которого есть ни в чём не уступающие аналоги из emacs? Те кто хочет emacs в vim переделать пусть сами потеют. А я не для этого переучивался с vim-а на emacs.

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

текстовый редактор в нем сделан наркоманский. И чтобы это переделать и связать с остальным обвесом - очень трудоемкое дело.

А ты думал что если есть лучший инструмент с принципиально другой концепцией вместо того которого ты используешь, то достаточно сразу взять его и ты сразу начнёшь ощущать все его преимущества? С чего ты взял что будет легко?

вот скажи, ради этих мелочей стоит заниматься пол года ребиндами и ломать себя, если текущий продукт покрывает 100% потребностей ?

Да сиди ты на здоровье со своим vim-ом и радуйся до конца своих дней. Никому от этого плохо не будет. И не надо делать так:

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

Как например здесь.

вот представь, собираю я мерседес по винтику. 6 лет. А приходят чуваки и говорят, «да есть bmw! На нем рулить гараздо эффективней». Ты садишься такой в bmw, и такой «опааааньки!» да тут все через....гкхм!

Тебе говорят «дык это не просто машина. Ты вот мериндос собрал из уже готовых деталей, а тут можно из молекул это всё собрать! При этом, есть 100 гуру, которые не только себе из молекул собрали это, а еще и впихнули в машину кофеварку, гладильную доску, умывальник, тостер и кухонный комбайн(правда он работает с помощью педалей от велосипеда). Это же круто, не правда ли ? Я такой подумал-подумал и что надумал. Ну да, машина конечно никудышняя, в ней одно колесо квадратное, другое треугольное. Но ведь едет. Но чтобы этим пользоваться, - надо из этой bmw из молекул собрать каждую деталь, а потом все эти детали сложить в автомобиль. Если не уподобляться наркоманам, которые туда прикрутили кухонный комбайн и тд, - то на выходе может получиться не хуже, чем мериндос. А может и лучше, - тут уж всё зависит как долго связывать молекулы друг с другом. И главный вопрос: а зачем это делать ? Что, мериндос не ездит ? Ездит. Тогда какие могут быть вопросы ? Ты либо готов заняться жанглированием с молекулами, либо нет. Точка.

ados ★★★★★
()

Попробовал evil. Что я могу сказать...Этот костыль лишний в emacs'e. т.к он привносит такие вещи: открываю bs-show. Чтобы выбрать буфер, мне надо перейти в insert mode. Думаю, что там похожих приколов будет оч. много. Моё личное мнение: надо соглашаться юзать нативное управление текстом. Иначе(опять же) ждет очень увлекательный полугодовой квест по устранению всех косяков.

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

Тебе уже предлагали spacemacs - там уже всё подогнано под использование совместно с evil, который входит в базовую потавку. Но я предпочел от vi-style отказаться.

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

spacemacs - там уже всё подогнано под использование совместно с evil

«Все» — это около пяти пакетов, и вышеупомянутого bs-show среди них, емнип, нет.

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

Да пока evil - плагин, а не часть emacs(как внутренняя управлялся текстом), то всё это так и останется неудобным костылём, который будет пораждать кучу проблем. Но это врядли произойдет, покрайней мере в ближайшие 10 лет. Поэтому или надо соглашаться на втсроенный редактор текста emacs или вообще его не использовать.

bryak ★★★★
() автор топика
Ответ на: комментарий от feofan

Да есть проблемы и не связанные с редактированием текста. И их немало. вот к примеру. Я понимаю, что в конечном счете - всё решаемо т.к всё программируемо. Удивительно то, что изкоробки или при минимальных телодвижениях всё это не работает. Всё требует детального рассмотрения. Я согласен, что в vim всё изначально тоже не айс, но там все проблемы не связанные с такими вот мелочами. В виме проблемы - это поиск плагинов для расширения функционала. При этом функционал в плагинах работает именно так, как надо. Хелп открыл, опций скопипастил нужных и всё. Тут же функционал есть в emacs'е, но проблема починить под свои нужды этот функционал. При этом уверен, что ничего сверхэкстраординарного я не хочу по функционалу.

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

Понятнее, честно говоря, не стало. В ГНУ Емаксе нет никакой «внутренней управлялки текстом».

А что до «не часть Емакса», то это исключительно пассивное решение авторов Евила — спросите у них при случае, не планируют ли они часом вливаться ГНУ Емакс, мне было бы тоже интересно это узнать.

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

В виме проблемы - это поиск плагинов для расширения функционала. При этом функционал в плагинах работает именно так, как надо

Работает так, как ты привык, не более того.

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

потому что эта поделка - из разряда спортивного интереса: сделать ради того, чтобы сделать. По-настоящему все эти режимы vim'a надо внутрь эмакса засавывать, много чего учитывать и тд. Врядли кто-то на это подпишется, а главное, кто всё это примет в код эмакса ? Я слабо во всё это верю.

bryak ★★★★
() автор топика
Ответ на: комментарий от feofan

работает не «так как я привык», а нормально. Со старта запуск скриптов + запуск скриптов с аргументами + запуск всего чего угодно в скрипте. Причем тут к нормальному положению событий манипулирование утверждением «так как ты привык» ?

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

Причем тут к нормальному положению событий манипулирование утверждением «так как ты привык» ?

При том, что ты не читаешь документацию и пытаешься писать код на языке которого не знаешь. При этом очень удивляешься, когда оказывается, что функция, которую ты вызвал делает совсем не то, что ты придумал, а то, что сказано в документации, которую ты не читал.

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

да я согласен с тобой. Но всегда хочется быстрого старта. Прогуглил, что-то получилось. Углубляться потом можно, когда основное работает.

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

Быстрого старта с емаксом не будет. Если хочешь больше чем то что идет из коробки придется разбираться с Elisp'ом, всеравно придется. Ты пятый раз ломаешь зубы о емакс и ноешь что у тебя нет времени. За эти попытки можно было почитать доки, азы, хватило бы. И нечего хаять Evil если не смог осилить доки к нему, это отличный инструмент. hjkl в bs-show включаются одной командой, сходи на bitbucket и глянь evil-integrate.el (часть Evil) для примера как это делается, там же можешь посмотреть как отключить evil-mode для bs-show. Этому придется научиться так как все плагины ориентируются на команды Emacs а не Vim. Также придется понять как биндить команды в различных режимах Evil, для меня это небольшая жертва за то что не пришлось разбираться с командами Emacs коих я знаю штук 5. И кстати любитель Vim'а ты забыл что такое Shift-: + ls? в Evil есть Buffer List. Мне кажется что тебе конфиги Vim'а кто то подарил вместе с репититором.

clinic
()
Ответ на: комментарий от bryak

надо внутрь Емакса засовыать

Куда «внутрь»-то, вы можете толком об’яснить?

а главное, кто все это примет

Действующий сопровождающий, я полагаю. У меня сложилось устойчивое впечатление, что в ГНУ Емакс сейчас принимают все подряд, лишь бы формальности были соблюдены.

И вообще — вы же не удивляетесь тому, что в ГНУ Емаксе вообще-то уже давно есть слой совместимости с vi, причем два — совсем примитивный старый и поновее, но тоже до Евила не дотягивает. Почему надо отказывать в принятии еще одного, если его авторы сделают такое предложение?

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

Да прекратите уже! Попробуйте функционал вот такого кол-ва плагинов добавить в ваш эмакс. Сейчас я услышу фразу «ну тебе никто ничего не должен» и «такой функционал не нужен». Я ж говорю, что выучить 40 хоткеев - не проблема. Проблема функционал добавить. Под вим есть много батареек, которые работают как надо. Да, я согласен, что можно написать это руками, но трудозатратно это и долго. И в конечном счёте - нецелесообразно.

" Plugins {{{
Plug 'davidhalter/jedi-vim' | Plug 'lambdalisue/vim-pyenv'
Plug 'biskark/vim-ultimate-colorscheme-utility'
Plug 'octol/vim-cpp-enhanced-highlight'
Plug 'Valloric/vim-operator-highlight'
Plug 'pbrisbin/vim-syntax-shakespeare'
Plug 'nathanaelkane/vim-indent-guides'
Plug 'ntpeters/vim-better-whitespace'
Plug 'christoomey/vim-tmux-navigator'
"Plug 'enomsg/vim-haskellConcealPlus'
Plug 'artur-shaik/vim-javacomplete2'
Plug 'whatyouhide/vim-lengthmatters'
"Plug 'vim-pandoc/vim-pandoc-syntax'
Plug 'jelera/vim-javascript-syntax'
Plug 'terryma/vim-multiple-cursors'
Plug 'powerman/vim-plugin-AnsiEsc'
Plug 'guns/xterm-color-table.vim'
Plug 'leafgarland/typescript-vim'
Plug 'suan/vim-instant-markdown'
Plug 'idris-hackers/idris-vim'
Plug 'Valloric/MatchTagAlways'
Plug 'rhysd/vim-clang-format'
Plug 'junegunn/limelight.vim'
Plug 'dietsche/vim-lastplace'
Plug 'hail2u/vim-css3-syntax'
let completer = 'oblitum/YouCompleteMe'
if has("python3") && !has("python")
    let completer = 'Shougo/neocomplete.vim'
endif
Plug completer
Plug 'embear/vim-localvimrc'
"Plug 'vim-pandoc/vim-pandoc'
Plug 'pgdouyon/vim-evanesco'
Plug 'idanarye/vim-vebugger'
Plug 'Raimondi/delimitMate'
Plug 'scrooloose/syntastic'
Plug 'ternjs/tern_for_vim', { 'do': 'npm install' }
"Plug 'edkolev/tmuxline.vim'
Plug 'djoshea/vim-autoread'
Plug 'racer-rust/vim-racer'
Plug 'tikhomirov/vim-glsl'
Plug 'Shougo/vimfiler.vim'
Plug 'Shougo/vimshell.vim'
Plug 'eagletmt/ghcmod-vim'
Plug 'raichoo/haskell-vim'
Plug 'tpope/vim-obsession'
Plug 'thinca/vim-quickrun'
Plug 'Slava/vim-spacebars'
Plug 'groenewege/vim-less'
Plug 'hsanson/vim-android'
Plug 'honza/vim-snippets'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-sensible'
Plug 'tpope/vim-surround'
Plug 'mhinz/vim-sayonara', { 'on': 'Sayonara' }
Plug 'romainl/Apprentice'
Plug 'rust-lang/rust.vim'
Plug 'godlygeek/tabular'
Plug 'vim-ruby/vim-ruby'
Plug 'tpope/vim-abolish'
Plug 'peterhoeg/vim-qml'
"Plug 'gilligan/vim-lldb'
Plug 'bling/vim-airline'
"Plug 'jeaye/color_coded', { 'do': 'cmake . && make && make install' }
Plug 'oblitum/formatvim'
Plug 'junegunn/goyo.vim'
Plug 'ogier/guessindent'
Plug 'basyura/bitly.vim'
Plug 'rhysd/wandbox-vim'
Plug 'eagletmt/neco-ghc'
Plug 'tmhedberg/matchit'
Plug 'fmoralesc/vim-pad'
Plug 'majutsushi/tagbar'
Plug 'tpope/vim-eunuch'
Plug 'SirVer/ultisnips'
Plug 'mattn/webapi-vim'
Plug 'cespare/vim-toml'
Plug 'tpope/vim-ragtag'
Plug 'Shougo/unite.vim'
Plug 'mileszs/ack.vim'
Plug 'drn/zoomwin-vim'
Plug 'xolox/vim-shell'
Plug 'keith/swift.vim'
Plug 'xolox/vim-misc'
Plug 'vim-jp/cpp-vim'
Plug 'tpope/vim-haml'
Plug 'fidian/hexmode'
Plug 'kien/ctrlp.vim'
Plug 'Shougo/vimproc', { 'do': 'make' }
Plug 'mattn/gist-vim'
Plug 'oblitum/frawor'
Plug 'nicwest/QQ.vim'
Plug 'suy/vim-qmake'
Plug 'elzr/vim-json'
Plug 'fatih/vim-go'
Plug 'dahu/vimple'

bryak ★★★★
() автор топика
Последнее исправление: bryak (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.