https://github.com/mtikekar/editerm
Editor + terminal using neovim
https://github.com/mtikekar/editerm
Last synced: 6 months ago
JSON representation
Editor + terminal using neovim
- Host: GitHub
- URL: https://github.com/mtikekar/editerm
- Owner: mtikekar
- Created: 2017-08-07T14:13:17.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2021-06-17T08:10:34.000Z (over 4 years ago)
- Last Synced: 2025-01-06T20:46:56.701Z (about 1 year ago)
- Language: Shell
- Homepage:
- Size: 21.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# User-facing scripts
editerm: abduco + neovim + terminal (mainly intended for use via SSH)
The use of abduco to preserve the terminal across SSH sessions is
transparent. You don't need to worry about sessions. Just run editerm and it
will open an existing session if available or start a new one.
editerm-gui: tabbed + st + neovim + terminal in GUI
gvim: st + neovim
vim: If called from a neovim terminal, open a new tab. Else, open neovim.
man: If called from a neovim terminal, open man page with neovim's :Man. Else, call system /usr/bin/man.
# Components
- fish: https://github.com/fish-shell/fish-shell
- neovim: https://github.com/neovim/neovim
- st: git://git.suckless.org/st
- tabbed: git://git.suckless.org/tabbed
- abduco: http://www.brain-dump.org/projects/abduco (Source at: https://github.com/martanne/abduco)
- xsel: http://www.vergenet.net/~conrad/software/xsel/download/xsel-1.2.0.tar.gz (or get binary)
# Shortcuts
tabbed:
- `Ctrl-Shift-t`: open new tab with st
- `Ctrl-q`: close tab
- `Ctrl-`: go to last tab
- Mouse: go to tab
- `Shift-/`: move tab
- `F11`: fullscreen
neovim:
- `Ctrl-h,j,k,l`: move b/w windows and tabs
- Mouse: go to tab
# Build requirements
fish needs `libncurses5-dev` for compiling and `doxygen` for documentation (man pages).
st and tabbed need `libx11-dev` and `libxft-dev`.
xsel needs `libxt-dev`.
All these build requirements can be uninstalled after building. The run-time dependencies for all of
these came pre-installed on an Ubuntu 16.04 system.
See the [install script](install) for how to install.
# Notes
To uninstall:
- delete the prefix directory
- `rm -r ~/{.config,.local/share}/{nvim,fish}`
- `rm ~/.terminfo/s/st{,-meta}{,-256color}`
- `rmdir -p ~/.terminfo/s`
man only supports `man ` or `man `. vim only supports whatever `vim -h` says.
I encountered an issue with fish 2.4. If vi binding is enabled, it outputs strange codes
that break vim's :Man. Sticking to 2.3.1 for now.
# Who needs what in its PATH
shell inside editerm:
vim, man (hence nvim, bash)
nvim itself:
original man (if man wrapper is in PATH, you'll have an infinite recursion
as nvim's :Man calls man)
ssh session:
editerm (hence abduco, nvim, fish)
desktop session:
editerm-gui (hence tabbed, st, nvim, fish)
terminal: (e.g. gnome-terminal, iTerm)
nvim -c term (hence nvim, fish)
tabbed running editerm-gui:
st (for spawning new tab)