@ninesigns

Тег emacs в блоге ninesigns

ninesigns

Поддержите самый охуенный тул по работе с git evar, чтобы автор мог год хуярить в него фичи.
С magit я практически перестал пердолиться в консольку при работе с git.

https://www.kickstarter.com...ient?ref=hero_thanks

CHF 51,188 pledged of CHF 55,000 goal
1,315 backers
11 days to go

#okcwp
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Короче палю годноту. Добавляет в мой(и твой) любимый редактор сразу ВОРКСПЕЙСЫ и ТАБЫ.
То есть замена, elscreen + perspective. Список буферов, если чо локален для каждого воркспейса.
https://github.com/seudut/perspeen

Есть еще отдельано helm-perspeen, но там баг с созданием воркспейсов.

#ojsgc
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Щас понял чего мне не хватало в емаксе - переключалку буферов наподобие
виндового M-Tab, которая не маркирует временно просматриваемое окно посещенным.

https://www.emacswiki.org/emacs/iflipb

#ootuxx 5
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

If you are a newcomer and look at Emacs what you see at first glance on the outside is basically total crap. The default behavior of Emacs distinguishes itself by the complete lack of sanity. Emacs key-bindings are neither ergonomic nor do they make any sense in any way. They are barely consistent across modes, only if you are lucky. They are the way they are because they are old. And old people don't like change. However my experience was, the more I learned the more crap appeared. One layer of crap after the other. At first everything could somehow be fixed with a lot of configuration and scripts. I needed several hundred lines of Lisp code in my init.el just to be able to work normally.
But then the lowest emacs layer of crap appears which can not be fixed. It includes issues like lack of multithreading, elisp being the least capable and at the same time by far slowest lisp dialect. Stuff like the lack of ability to move the cursor off screen. Inherent jumpiness while scrolling which can not be fixed and really strains my eyes. And don't even try to look at the C source, it is the worst historically grown ifdef hell you will ever experience.
And finally there is the community which lacks disposition to unify or work together. It is more like a community of loners where each of his own produces personal "modes" which are inconsistent to use and most of the time conflict which each other. The most important reason for this might be lisp itself. It is inherently hard to read other peoples lisp code. So everybody writes his own.

#oownzr
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

От нехуй делать пробежался по MELPA, вот какие интересные пакетики там нашел.

  • bbyac : набираешь несколько буков, жмешь M-g <RET>, и по этим буквам при помощи fuzzy-matching составляется список найденых вариантов, один из которых можно вставить;
  • move-text : двигает выделенный регион (или текущую строку) вверх или вниз;
  • related : циклоичное переключение между буферами, где открыты "похожие файлы", похожесть определяется равенством имен файлов после отрезания расширения и схлопывания разделителей;
  • todo-txt : мода для редактирования файлов формата todo.txt
  • helm-git-grep, magit-find-file, helm-ls-git - git grep | выбор файла из текущей репы (произвольной ревизии) | аннотированый файлов, где можно быстро выбрать файл из текущей репы
  • helm-mt : управление списков терминалов, которые multi-term;
  • fcopy : вызываешь fcopy, идешь куда хочешь, выделяешь текст, нажимаешь c -> текст вставляется в исходное место;
  • f3 : интерактивный find, можно комбинировать несколько find-ов и выполнять разные действия над результатами .
#oowvdc 4
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Вышел emacs 25.1 (первая версия нового мажорного релиза)
https://lists.gnu.org/archi...016-09/msg00451.html

  • Emacs can now load shared/dynamic libraries (modules)
  • Experimental support for Cairo drawing
  • Enhanced network security (TLS/SSL certificate validity and the
    like)
  • New minor mode 'electric-quote-mode' for using curved quotes as you
    type
  • Character folding support in isearch.el
  • Xwidgets: a new feature for embedding native widgets inside Emacs
    buffers
  • New and improved facilities for inserting Unicode characters
#oozved
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

в общем, будущее уже рядом. В emacs 25, который скоро выйдет, добавили возможность динамически загружать плугины, из shared library. По сути, это решает давно всех заебавшую проблему с FFI.

То есть:
- Инклудим файлик emacs-module.h (из текущей инсталляции)
- Определяем символ plugin_is_GPL_compatible в библиотеке
- Определяем функцию emacs_module_init
- Пилим экспортируемые функции с требуемой сигнатурой и экспортируем их в рантайм emacs
- Можно грабить караваны

https://diobla.info/blog-archive/modules-tut.html

Выкидвайте свои говноредакторы.

#oozvnc 14
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns
  • Ставим rtags через ``M-x package-list-pachages''
  • Ставим rtags daemon
  • Для текущего проекта генерим JSON compilation datatabse

    !cmake . -DCMAKE_EXPORT_COMPILE_COMMANDS=1

  • Если проект не на cmake, ставим bear (есть
    в debian).

  • Делаем bear make
  • Делаем rc -J . в каталоге с compile_commands.json

Наслаждаемся несосущей навигацией по плюсовому проекту из любимого редактора.

#ooweun 2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Выпилил к хуям cedet. Как же заебись теперь без этой гадости.

#vnkwk 3
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Ура, выдрочил новую ultime раскладку для emacs с новым модификатором A (Alt).

Left Alt -> Control
Right Alt -> Meta
Winkey -> Super
Menu -> Hyper
Caps Lock -> Alt

Итого, у меня уже пять модификаторов.
На префикс A скорее всего буду потихоньку вешать кастомные моды для Hydra.

Использовать Control на месте левого Alt это просто лютый вин для емаксоблядков (да и не только).

xmodmap:

!!! Implement the following layout:
!!!     Alt  A S D F ... 
!!!     Shift Z     X    C V B N M ...
!!!     Caps Super Control --Space-- Meta Hyper Control

!! Sec-1.
clear Control
clear Lock
clear mod1
clear mod2
clear mod3
clear mod4
clear mod5

!! Sec-2. System dependent; use xev to find the exact keycodes:
keycode  66 = Alt_L
keycode  37 = Caps_Lock
keycode  64 = Control_L
keycode 105 = Control_R
keycode 108 = Meta_R
keycode 135 = Hyper_L
keycode 50 = Shift_L
keycode 62 = Shift_R


!! Sec-3.
add Control = Control_L Control_R
add mod1 = Meta_L Meta_R
add mod3 = Hyper_L Hyper_R
add mod4 = Super_L Super_R
add mod5 = Alt_L 
add Lock = Caps_Lock

Из текущих проблем: setxkbmap не сохраняет переключение раскладки по grp:shifts_toggle, grp:shift_caps_toggle после вызова xmodmap.

Получилось навесить на grp:sclk_toggle, но ент не особо удобно. Надо накостылять скриптец который бы я вызвал из xbindkeys и который бы переключал раскладку.

#vysjz 3
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

https://github.com/4DA/eshell-toggle

Набыдлил простую фичу: по шоткату (например s-`) показывается консолька eshell под активным окном с каталогом текущего буфера.
По этому же шоткату убирается.

#vnxlw 5
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Еще один мегабайт рецептов.
http://doc.rix.si/org/fsem.html

#vnspv
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

cedet - это огромный такой (поэтому хуево протестированый) кусок кода.

Сегодня обнаружил, что company-complete отваливается со стектрейсом в буферах где нет активного semantic-mode.

Оказывается эта падла модифицирует completion-at-point-functions', который юзает бекенд company-capf, своими хуками, которые отвалиюваются сerror' если в буфере не включен semantic-mode, а кроме как для C или C++ он нахер не упал.

Набыдлил хак, может кому пригодится.

#vrjat 2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Кто юзал perspecitve или e2wm.

Думаю есть ли что полущ чем elscreen?

#vrdkd
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Поскольку авторы magit не обламываются менять все хуки с каждой минорной версией, то для того, чтобы git-gutter обновлял буферы после `magit-commit' нужно сделать примерно следующее:

  (add-hook 'git-gutter:update-hooks 'magit-after-revert-hook)
  (add-hook 'git-gutter:update-hooks 'magit-not-reverted-hook)
#vyzbq 1
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

Говорят, в IDE от JB есть охуенная фича: go to last change. Перемещается назад в любой файл где было сделано последнее изменение.

Так вот, хочу такое же для сабжа.

Беглый гуглеж ничего не дал, что и не удивительно: в emacs история изменений per-buffer, а не глобальная.

Как по мне так фича охуенная.
Сам привык палить последнии изменение нажимая undo.

#vrqua 8
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

keysnail пробовал кто-нибудь?

#vrjbi 12
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

C/C++ Development Environment for Emacs
https://tuhdo.github.io/c-ide.html

ебануться

#vrfnl 8
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

/For those interested, I've recently managed to port XCB (X protocol
C-language Binding) to Emacs [1], and it seems we can make use of it
to build low-level X11 applications. Besides, I've also implemented some
utility libraries [2] necessary for, e.g., building an X window
manager. Indeed, I'm currently working on an X window manager for
Emacs called EXWM [3], and have been using it for some while. I
should say that it basically works though it's far from stable./

https://lists.gnu.org/archi...015-08/msg00122.html

#vhsgx 2
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
ninesigns

M-x superword-mode

#vhvco
Вы можете выбрать до 10 файлов общим размером не более 10 МБ.

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.