Commit graph

260 commits

Author SHA1 Message Date
Marty Oehme 48be54b79c Refactor notes/wiki search functions 2019-10-17 18:55:32 +02:00
Marty Oehme 73b5004c3f Fix tab titles separator at the end 2019-09-29 21:40:38 +02:00
Marty Oehme ed25b3d966 Add gopass configuration file 2019-09-20 14:53:47 +02:00
Marty Oehme 06489ac101 Add yank filename/-path to vim as yf 2019-09-19 15:43:40 +02:00
Marty Oehme a0a14c4afd Set default papis notes to RMarkdown file ending 2019-09-19 15:39:45 +02:00
Marty Oehme 640ee9dbf9 Add surfraw rofi extension to search the web with bangs 2019-09-18 17:55:44 +02:00
Marty Oehme 76efabe67b Add gopass settings for vim 2019-09-18 16:01:43 +02:00
Marty Oehme 710e47758d Add rofi-gopass to quickly enter gopass entries 2019-09-18 16:01:06 +02:00
Marty Oehme 81ecb4dfb6 [HACK] Add fix for sxhkd rofi menu
HACK TODO: Added a hard-coded line to the rofi powermenu mode in
.config. Should either point to an XDG compliant rofi-modes folder
(.config/rofi-modi or smthg), or, ideally a specific directory in rofi
configuration or scripts and rofi specific dirs. That depends on the
rofi modi being seen primarily as scripts or as configuration of the
operating procedure of rofi.
2019-09-10 23:47:50 +02:00
Marty Oehme 9fb9bb39ee Fix rofi layout sizings for fullscreen 2019-09-05 22:07:10 +02:00
Marty Oehme da5cd9ef1f Add rofi menus to global shortcuts
Accessible through Super+Space for the quickrun menu (essentially
emulates dmenu, just with a nice colorscheme); Super+r for a more
extensive options menu: window switching, clipboard history, ssh
(accessible with Shift-right). First step toward streamlined rofi
config.
2019-09-05 21:41:07 +02:00
Marty Oehme 8b7de007e9 Add dmenu-like application selector 2019-09-05 21:15:50 +02:00
Marty Oehme b28a98c4e4 Add rofi-nerdfont icon picker mode 2019-09-05 19:50:17 +02:00
Marty Oehme c6c4161d77 Add rofi-fontawesome icon picker mode 2019-09-05 19:21:55 +02:00
Marty Oehme ff6ca7e684 Make rofi-powermenu configurable through env vars
Added Environment variables to show/hide the text and icons, as well as
change the individual commands rofi-powermenu uses to affect the system.
2019-09-05 17:47:15 +02:00
Marty Oehme 49cacfe787 Refactor powermenu to rofi modus 2019-09-05 16:21:53 +02:00
Marty Oehme 3d9ea5cffe Configure rofi-powermenu and lockscreen script
Use rofi-powermenu to show options for suspend,reboot, shutdown,
lockscreen, log out. Can be invoked with <M-backspace>. Other power
option shortcuts have been removed from quick access through sxhkd or
i3. Lockscreen can still be quickly set with <M-x>.

Lockscreen now resides in its own script to provide one source of truth,
and in case it is further customized in the future.
2019-09-05 13:31:42 +02:00
Marty Oehme 16cb8f092e Add dmenu theme 2019-09-05 13:03:51 +02:00
Marty Oehme 199fbdae4d Add rofi theme scaffolding
Themes are structured in two parts: layout and colorschemes. Both can be
set independently from each other. Layouts can make use of anchored
color values (@background, @background-focus,.. look at colorscheme
files for all available values). Colorscheme files then translate the
values into actual colorcodes.

That way, the colorscheme for all layouts can be changed with one
setting, or independently of each other. Layouts try to specify some
often used structures for rofi menus - right now there is a horizontal
list and a fullscreen options selection (which can make use of icon
fonts).

Any global theme changes should be done in settings.rasi. Any global
function changes can still be done in config.rasi. A rofi-powermenu has
been added as an example of using the theming structure. The powermenu
script loads rofi with the powermenu.rasi theme enabled. The powermenu
theme loads the fullscreen options layout, which in turn loads the
vertical list layout, which loads settings, which sets the correct
colors. Idea and original structure from:
https://gitlab.com/vahnrr/rofi-menus
2019-09-05 10:45:32 +02:00
Marty Oehme 264e095224 Add initial rofi-bangs script
Can be executed with rofi-bang. It will take a comma-separated list of
commands (for now statically sourced from rofi config dir), show labels
and 'bangs' for them (in the manner of !c or !yt) which, if typed will
instantly execute their command. In this manner, it becomes possible to
create a quickly accessible menu using rofi.

E.g. we could have !b to search bookmarks. As soon as !b is typed the
'bang' instance of rofi exits and executes the associated command. If
the command starts up another, visually identical, rofi instance with a
preselection of different user bookmarks, it appears as if we just
jumped into a bookmark list in the same rofi instance.

Of course, the commands can be anything. They don't have to invoke more
rofi instances.
2019-09-04 23:04:07 +02:00
Marty Oehme f1bcae1767 Add simple rofi config file 2019-09-04 19:47:13 +02:00
Marty Oehme 7e45d94997 Add fuzzy tools to vim and shell
In vim:
Use <leader>c to insert a bibtex reference in your text. By default it
is a pandoc reference (@bibref), but it can be changed to latex style
(\cite(bibref)). <leader>CM inserts a pretty-printed reference to the
selected work, using markdown styling. If you want to insert a citation
while writing, use @@ from insertmode to insert the bibref instead.

The settings add two commands: :CiteRef and :CitePretty which call the
respective functions. You can pass any amount of .bibtex libraries to
the commands and they will be available to fuzzy search through.

:CiteEdit also added to fuzzy find a source and open it in vim for editing.
The function is not working yet, I have to find a way to go from the
fuzzy finder to papis, select the correct file and edit it in vim.

In Shell:
Can cd directories (d, D), open files (f, F), open most recently used
(ru), and edit bibtex references (ref). lowercase is a weighted view
over previously used directories/files, Uppercase is a search of the
whole file structure.

Still outstanding:
Needs the same comfort function additions as vim search, especially
reference search. (i.e., open corresponding document, yank path, open
editor,...)
2019-09-04 17:32:11 +00:00
Marty Oehme 3ce896af43 [nvim] Improve compilation filetype target
Allows compilation using pandoc to happen for markdown, as well as
rmarkdown files.
2019-09-02 23:23:43 +02:00
Marty Oehme dcd3f07a8f [nvim] Add useful writing colorscheme
Pencil is from reedes, cribbed from iWriter. It is a good, subdued
colorscheme for writing prose. All colorschemes in this vimrc now come
with italicized letters (for comments, and words that should be italic).
All themes also respect the background= dark/light distinction and
enable the respective mode.
2019-09-02 23:21:56 +02:00
Marty Oehme 5f57994570 [nvim] Add rmarkdown, pandoc plugins and bindings
PDFs can be compiled using rmarkdown by invoking <leader>c, or C to open
the file (which pauses vim however). The best workflow is to open the
pdf manually in something like zathura, which will auto-update when the
document is newly compiled.
2019-09-02 22:45:24 +02:00
Marty Oehme a84c18f7ab [nvim] Add function to show all keymappings
Use :ShowMaps to display all currently mapped things for vim. Will not
include things like `i`, but actual mappings.
2019-09-02 21:44:54 +02:00
Marty Oehme b5e979189b [nvim] Add german dict possibility 2019-09-02 19:15:14 +02:00
Marty Oehme 29d7d4a65f [nvim] Add spellchecking shortcuts to vim
<leader>O to enable spellchecking for current buffer,
<leader>o to show suggestiong for word under curser.

(Try it out here, just hover over misspelled cursor!)
2019-09-02 19:07:44 +02:00
Marty Oehme a7397dc58d Resolve "Set up papis configuration for reference management"
Add papis config file. Sets up a single 'academia' library in Nextcloud/Library folder.

Uses vim for most editing, and vifm as the file manager. No advanced functionality of papis is touched yet.

The structure of the library is to use authorname-title as subfolders in the library for the individual document clusters (i.e. the info.yaml files and any associated document files or notes).

Will need to further test functionality.
2019-09-02 13:54:24 +00:00
Marty Oehme 499d375791 Add basic dimswitch
Prints out current version number and simple usage instructions on invocation
with -h, --help, -v, --version. Displays used configuration file when invoked
with -i/--info.

Adds simple toggle ability script, used by simply invoking `dimswitch` from the
.local/bin/ directory. In this dotfile configuration that directory is added to
the path, so can be invoked from anywhere.

Invoked without any options it will look for a line which specifies a theme
with a `-light` or `-dark` option appended, and switch them out. Does not
change the vim colorscheme or background, and can not change the theme in
alacritty itself.

The extent of this script is still limited, if it should be expanded python
seems more suited. For further discussion, see its original Merge Request !18.
2019-09-02 11:00:28 +00:00
Marty Oehme 659bd61af3 [qutebrowser] Revert to downloading PDFs for now
Should implement checking existence of pdfjs on the system before either
showing PDFs in the browser or downloading.
2019-09-01 11:03:55 +02:00
Marty Oehme 39e2035571 Add qutebrowser as default BROWSER env var 2019-08-29 16:45:16 +02:00
Marty Oehme 13625bafec [qutebrowser] Add adblock blacklist, slightly change media shortcuts 2019-08-29 16:44:15 +02:00
Marty Oehme 991b906690 Add js whitelist for gmaps, gmail. Fix tab display
Tab titles need a number in front for quick <number>gm movement. Google
maps and Google mail do not work without javascript.
2019-08-27 14:13:18 +02:00
Marty Oehme e5088962fb [qutebrowser] Add toggl to javascript whitelist 2019-08-08 14:12:43 +02:00
Marty Oehme dbcc42051e [qutebrowser] Add dict.cc quick search engine
Use d and search term to translate the therm (by default German-English
and vice versa).
2019-08-08 13:34:40 +02:00
Marty Oehme 9061c77232 [qutebrowser] Add Todoist to javascript whitelist 2019-08-08 13:20:18 +02:00
Marty Oehme b83a679d1d [qutebrowser] Add search engines, javascript toggle
Toggle Javascript on/off with <leader>js. Reload the configuration file
with <leader>VV. The search engines include reddit, github, wikipedia,
archlinux, aur, gopackages and more.
2019-08-06 09:25:57 +02:00
Marty Oehme 7fab7dd6fb [tmux] Add remote session nesting
If calling a tmux session within a tmux session, pressing F12 will
toggle between sending commands to the outer or inner session. If the
outer session is inactive its status-bar will be slightly greyed out to
show that no commands will reach it. If the inner session is a remote
ssh session, it will set some additional stylings for the status-bar to
further differentiate the two.
2019-07-27 12:29:47 +00:00
Marty Oehme b11343b73a Add bats unit testing to repository
Will recursively look for `*.bats` files and run them with bats-core test suite. Simple sample unit tests for existing scripts are included in `.config/shell/rc.d/test`.
2019-07-27 11:42:54 +00:00
Marty Oehme beb5f1c323 Rename alias & env setting shell scripts 2019-07-27 11:29:31 +02:00
Marty Oehme b9441dc36d [vifm] Add icons for most used filetypes 2019-07-26 13:42:45 +02:00
Marty Oehme 6277ed1cf1 [tmux] Fix root directory setting command 2019-07-26 13:41:50 +02:00
Marty Oehme 590f430a09 Merge branch 'master' of gitlab.com:marty-oehme/dotfiles 2019-07-25 12:28:33 +02:00
Marty Oehme eca508e230 [tmux] Notes session set vim root to notes dir 2019-07-25 12:28:00 +02:00
Marty Oehme d7e8831423 Fix static analysis and lint errors 2019-07-24 11:32:04 +02:00
Marty Oehme 8494eda973 [nvim] Add shfmt and analysis to zsh files 2019-07-24 10:58:46 +02:00
Marty Oehme bedf7e18a9 Fix static analysis errors 2019-07-24 10:54:06 +02:00
Marty Oehme 05c189cfa4 Fix merge errors 2019-07-24 10:42:12 +02:00
Marty Oehme ef73a11e51 Naive fixing of linter errors 2019-07-24 07:33:28 +02:00
Marty Oehme 7e302d8770 [dot] Remove legacy bootstrap install scripts 2019-07-23 16:56:38 +02:00
Marty Oehme 6e09ca47cb [gitlab] Fix sh linting in vim and pipeline 2019-07-23 16:50:30 +02:00
Marty Oehme 2b8540f6cf [nvim] Remove golang-ci metalinter, rely on vim-go
vim-go already provides the linting necessary for golang. Using
golang-ci additionally only complicates matters and provides no benefit.
Additionally, it did not seem to be able to track files other than the
one in the current buffer, or those open in hidden buffers and would
show (false) errors of classes or functions not found even when they
existed.
2019-07-23 15:41:23 +02:00
Marty Oehme 7d414b294c [tmux] Add notes default session file
Called with `tm notes.session`. Calls up a vifm instance pointed to the
notes directory, and a vim session pointed to the notes index file.
2019-07-17 10:47:08 +02:00
Marty Oehme c9e3b917f2 Merge branch 'master' of gitlab.com:marty-oehme/dotfiles 2019-07-16 21:17:57 +02:00
Marty Oehme 1fafcaadc4 Add dotfile configuration session
Invoked with `tm dot.session`. Contains a git window watching the
dotfiles status, diff, and a git log of recent commits. Contains a
window with vim. Contains a third window to test out the resulting dot
commands. Kept simple and clean.
2019-07-16 21:17:04 +02:00
Marty Oehme 4668849a4f Add italics in vim
Italicizes comments and anything which should be italicized in text
(e.g. markdown *star-surrounded* words). Might lead to errors in ssh
connections, will have to test.
2019-07-16 13:13:48 +02:00
Marty Oehme c581e72110 Add yanking filepath/dir from vifm to clipboard
Use yd for directory, yf for file path, yn for file name (without full
path), yr for yanking the root of current filename. Makes use of xclip
to work.
2019-07-16 13:12:01 +02:00
Marty Oehme c42625f4be Add toggleable color schemes to alacritty 2019-07-16 09:46:15 +02:00
Marty Oehme 2e9bda1fd6 [vifm] Add zathura association to .epub files 2019-07-12 14:02:50 +02:00
Marty Oehme f3c89aa1e3 Add golang linters to vim 2019-07-11 09:01:00 +02:00
Marty Oehme ea7e3635fe Automate initial tmux plugin installation 2019-07-08 22:06:56 +02:00
Marty Oehme 6f2f130212 Add golangci linter to vim through ale 2019-07-08 22:06:25 +02:00
Marty Oehme 95c3305cbb Allow entering vifm in pwd with vmm alias
vifm enters last open dirs by default. vmm alias opens vifm with the pwd
as the opened dir instead. Passing along arbitrary paths to vm also
opens vifm there.
2019-07-08 22:04:52 +02:00
Marty Oehme a736a107df Add keymappings to vifm: sync panes, hide dotfiles
Set the current pane to the other pane with <c-y>. Hide dotfiles with zc
(zm still works) to mimic the vim behavior.
2019-07-04 10:33:16 +02:00
Marty Oehme ef7c6ba8c8 Enable vifm image previews 2019-07-04 10:30:24 +02:00
Marty Oehme 62610c82c5 Add vim folds to vifmrc file 2019-07-04 08:19:16 +02:00
Marty Oehme f932aa4b97 Merge branch '37-replace-ranger-with-vifm' into 'master'
Resolve "Replace ranger with vifm"

Closes #37

See merge request marty-oehme/dotfiles!11
2019-07-03 20:29:35 +00:00
Marty Oehme 9df014fa62 Replace rifle with xdg-open for fuzzy file opening
rifle is going away soon with ranger being replaced by vifm in these
dotfiles. To be prepared, and make them more universal, the fuzzy file
finder uses xdg-open to open any files.
2019-07-03 22:27:57 +02:00
Marty Oehme bf28f2067d Add first draft of vifm configuration 2019-07-03 22:24:01 +02:00
Marty Oehme f16bdd0c7b Add default vifmrc 2019-07-03 16:23:25 +02:00
Marty Oehme 9a1617b78a Add go configuration to vim
added vim-go plugin and assorted mappings for tests, navigation, running
and documenting go files
2019-07-03 11:49:24 +02:00
Marty Oehme 0187636e22 Change gopath to default to the new project folder
Moved from Code folder which is deprecated.
2019-07-03 11:48:27 +02:00
Marty Oehme b66747f9fd Update alacritty config for new alacritty release
Alacritty deprecated some startup options, this should bring them back
into the correct use and get rid of the error message on startup.
2019-06-28 12:25:46 +02:00
Marty Oehme de582afa1d Reword instructions for fuzzy finding programs
Uses the full name of fuzzy finders instead of just their abbreviations
when warning about any of them missing, to make it clearer which
programs the warning is talking about.
2019-06-26 21:21:52 +02:00
Marty Oehme b1cb9ceef9 Remove unused fuzzy finding function 2019-06-26 21:20:40 +02:00
Marty Oehme 368032a73c Switch vim keys for Buffer/File opening
Switch fuzzy opening of buffers to <leader>f, and set opening files in
work directory to <leader>F. Switching these two is intended to allow
easier access to buffer switching, which I use much more often than file
access, especially when working over a longer time-frame in vim.
2019-06-26 21:03:33 +02:00
Marty Oehme a442de0292 Begin adding custom sk command 2019-06-17 23:13:55 +02:00
Marty Oehme 215f93d65a Fix fuzzy directory search
Fixed search to be passed along to cd, not the rifle command.
2019-06-17 22:33:13 +02:00
Marty Oehme 900b949a7a Move fuzzy history search, Add missing fuzzy warns
Moved zhfind command to fuzzy finding since it relies on sk to be
present. Added some preliminary warnings if sk is not on the system.
2019-06-17 18:30:19 +02:00
Marty Oehme 359de7e1bd Rename fuzzy finding shell script
In preparation for extending the scripting, renamed the script from just
being a re-aliasing of fzf. Now, all fuzzy finding logic can reside in
this file.
2019-06-17 18:01:23 +02:00
Marty Oehme 348621d824 Add automatic choice of greplikes/fzflikes 2019-06-17 09:18:50 +02:00
Marty Oehme 949e071b97 Fix .. command to go up to parent directory
Fixed the quick-style .. to go up a directory. Use `cd ..` to enable the
fzf enabled selection if you quickly need to go up multiple directories
instead.
2019-06-17 09:17:17 +02:00
Marty Oehme 07c3d6e05b Revert removal of wiki delete page mapping 2019-06-13 21:38:50 +02:00
Marty Oehme cd0894b01f Set terminal font size to more reasonable size 2019-06-13 21:38:00 +02:00
Marty Oehme 5257d3e191 Fix keybinds for wiki.vim keeping defaults
HACK HACK HACK
The default keybinds for wiki.vim are now kept, only removing the ones
that I don't need. For now, since wiki.vim does not seem to allow empty
strings being passed as its keybinds (in order to remove them by
overwriting with empty), it just assigns bogus binds with
<leader>== and an arbitrary number of === following.
2019-06-13 11:12:55 +02:00
Marty Oehme 0925515457 Add tmux session management plugin
Added tmux-resurrect plugin. This allows easy persisting of sessions
through a server shutdown. To save a session, use
<leader><c-s>, to restore it <leader><c-r>.
2019-06-13 07:22:28 +02:00
Marty Oehme 078259182c Add vim rg fulltext fuzzy search for current dir
Allows searching current working directory's files with rg (or
ag,pt,find) when invoked with <c-F> in vim.
2019-06-12 15:11:59 +02:00
Marty Oehme 6557b8dce0 Add quick fuzzy note search to wiki
Use <leader>wf from anywhere to fuzzysearch a phrase over the notes. If
no initial input is given loads all files into the interactive
fuzzysearch. Use <leader>wF to load a more detailed, full-screen windows
(via CtrlSF) which allows direct editing of results and more.
2019-06-12 14:56:15 +02:00
Marty Oehme f06ab7804e Remove subset of vim wiki default mappings
Only keep some of the default vimwiki mappings, since the rest I don't
really need (currently) and they interfere with some other operations I
intend to map (e.g. <leader>wf should fuzzysearch wiki but will toggle a
link when overwritten by the defaults).
2019-06-12 14:22:28 +02:00
Marty Oehme 6298daeca2 Add configurable wiki root directory
Can be set through environment variable WIKIROOT. By default points to
~/Nextcloud/Notes/ but is kept configurable for each computer. Will be
picked up by vim wiki plugin to enable wiki functionality for the
respective directory.
2019-06-12 14:18:46 +02:00
Marty Oehme abccdc7a62 Remove obsolete vim-zettel configuration 2019-06-12 13:34:25 +02:00
Marty Oehme f7b304966c Add full-text search to notes
Adds full-text search with CtrlSF vim plugin. Activated via
<leader>wf, to spell wiki-find (mirrors <leader>ww for wiki-index).

Optimizations can certainly be done.
2019-06-11 14:55:55 +02:00
Marty Oehme eb955beba1 Change wiki root to Nextcloud notes 2019-06-11 13:28:59 +02:00
Marty Oehme d3cc983eff add common vim bindings
* set up beggining/end of line with H/L
* set surround current word/visually selected word with <leader>"
* set text expansion for @@ marty.oehme@gmail.com - email
* set text expansion for ccopy - copyright notice
* set common typos autocorrection
2019-06-11 13:28:59 +02:00
Marty Oehme 54e31a85ac add uppercasing in vim 2019-06-11 13:27:00 +02:00
Marty Oehme 95d79cd39a add basic wiki and zettel structure 2019-06-11 13:27:00 +02:00
Marty Oehme 34f7cd7da9 Add zhfind command
Can be used to fuzzy search through shell history.
2019-06-07 11:39:38 +02:00
Marty Oehme 510443abdf Add fzy alias to be called as fzf 2019-06-07 10:57:06 +02:00
Marty Oehme ffee75f514 Merge branch 'master' of gitlab.com:marty-oehme/dotfiles 2019-06-07 10:30:02 +02:00