Compare commits

..

145 Commits

Author SHA1 Message Date
y0rune 64b1011bb7 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2021-01-16 18:14:25 +01:00
y0rune 4507e6638f Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2021-01-13 00:27:38 +01:00
y0rune 64710f3369 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2021-01-12 22:31:36 +01:00
y0rune 62c4b6f273 Update
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2021-01-07 18:48:15 +01:00
y0rune ca7b3901a8 Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2021-01-04 12:19:25 +01:00
y0rune 1675bc81b0 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-25 23:23:36 +01:00
y0rune fce73acdfc Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-23 21:36:34 +01:00
y0rune 43bea81ba7 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-22 18:00:38 +01:00
y0rune 17b1bb4bac Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-22 15:44:43 +01:00
y0rune 46784752c7 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-18 23:02:09 +01:00
y0rune c3859ea08d Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-18 16:46:24 +01:00
y0rune e676a0a46d Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-18 15:45:30 +01:00
y0rune d73ca6ecfa Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-18 15:42:27 +01:00
y0rune f957de37b5 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-17 11:38:25 +01:00
y0rune 9419c9d6e4 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-17 11:35:54 +01:00
y0rune e0386a7267 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-17 00:15:03 +01:00
y0rune 60bf47066a Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-16 22:20:42 +01:00
y0rune 9f165886cd Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-16 10:08:49 +01:00
y0rune e5b9777746 Updated: emacs cofng
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-15 22:19:39 +01:00
y0rune f511b71f8e Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-14 12:33:50 +01:00
y0rune bbdd95dc03 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-14 12:32:11 +01:00
y0rune 8507b7f501 Updated 2020-12-14 10:03:25 +01:00
y0rune f74d02cac5 added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-14 08:39:02 +01:00
y0rune 8a9c2cd936 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-13 13:56:27 +01:00
y0rune 48e104098c Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-12 22:23:14 +01:00
y0rune cc9022df39 Updated 2020-12-12 17:56:13 +01:00
y0rune c7d579c476 Updated 2020-12-07 13:13:41 +01:00
y0rune 50c2423489 Updated 2020-12-07 13:11:59 +01:00
y0rune 6c1bbf8dac Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-07 12:33:12 +01:00
y0rune 03a8b6427c Added new vim conf
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-07 12:18:19 +01:00
y0rune 89f9112337 Added new vim conf
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-06 23:45:05 +01:00
y0rune 0df9d7aae3 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-12-03 21:38:13 +01:00
y0rune 314f2a37b4 Numberation from 1 to n
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-23 14:51:27 +01:00
y0rune 023af993ac Numberation from 1 to n
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-23 13:56:00 +01:00
y0rune 92c9bc16f0 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-23 00:43:02 +01:00
y0rune fc7dc3f34a Added bash-support
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-16 12:54:24 +01:00
y0rune 5b8989ac04 Added grub-mkconfig into update-kernel
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-16 09:54:49 +01:00
y0rune 24c19bf2b3 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-10 00:35:03 +01:00
y0rune 2040211f98 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-10 00:26:41 +01:00
y0rune acba975720 Updated dotfiles
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-07 20:26:35 +01:00
y0rune ec3a489d2e Changed .xinitrc
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-06 00:03:08 +01:00
y0rune e58fff5007 Updated: nvim.vim
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-06 00:00:39 +01:00
y0rune 61034bc1eb Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-05 23:58:06 +01:00
y0rune 131f61128c Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-02 21:50:20 +01:00
y0rune 8bf88a633f Changed to firefox-bin
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-11-02 21:48:22 +01:00
y0rune fae31cfa8c Changed to firefox-bin
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-10-29 22:14:37 +01:00
y0rune e05ed5a769 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-10-29 22:08:29 +01:00
y0rune 0456d713b6 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-10-14 00:35:04 +02:00
y0rune 7f449df84d Added emerge-logs
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-10-04 00:45:44 +02:00
y0rune 893e06659d Final modification of newsboat config and zshrc
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-10-04 00:44:54 +02:00
y0rune c1e04f3cbf Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-10-04 00:40:03 +02:00
y0rune befc25415b Updated newsboat:config
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-10-04 00:23:23 +02:00
y0rune 1c341d2dea Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-10-03 12:56:32 +02:00
y0rune 90b5703be3 Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-10-01 18:46:51 +02:00
y0rune ce53c3e289 Added ic
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-27 01:34:30 +02:00
y0rune 8d8c6fe77f Test
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-27 00:43:14 +02:00
y0rune f0c10bb058 Test
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-27 00:41:52 +02:00
y0rune 5e1d243c3e Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-27 00:39:03 +02:00
y0rune f89554d807 Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-21 16:07:52 +02:00
y0rune cf075a3fdd Added Logs-emerge
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-21 14:40:52 +02:00
y0rune c4e543e710 Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-18 12:45:42 +02:00
y0rune 98ea485a6d Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-18 10:18:29 +02:00
y0rune 58f342e86a Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-16 23:18:00 +02:00
y0rune c7ec59b8ae Deleted cos
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-13 22:39:27 +02:00
y0rune 197a2b5c70 Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-13 22:38:55 +02:00
y0rune 747cf9c899 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-09 23:00:20 +02:00
y0rune 49f17be877 Merge branch 'master' of github.com:y0rune/myhome into master 2020-09-06 14:03:59 +02:00
y0rune 3199f37f03 Updated
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-09-06 14:03:40 +02:00
y0rune 81f4d7e697 updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-04 13:12:40 +02:00
y0rune b7916c11c9 Upated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-04 12:09:43 +02:00
y0rune 5b5e331648 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-03 08:32:59 +02:00
y0rune 3fe77852e6 Upatded
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-02 11:30:37 +02:00
y0rune 5bc70bb1f9 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-02 09:48:40 +02:00
y0rune 268214ffc7 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-02 09:19:55 +02:00
y0rune 3a8590fc1a Merge branch 'master' of ssh://github.com/y0rune/myhome 2020-09-02 09:14:41 +02:00
y0rune d7ea081ee3 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-02 09:14:30 +02:00
y0rune ecc04cec5c Upload
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-09-01 11:41:09 +02:00
y0rune 5f169d2cc1 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-09-01 11:39:56 +02:00
y0rune 84d5c9740f Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-31 15:07:30 +02:00
y0rune 7aec0a3941 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-30 20:43:23 +02:00
y0rune bbfe0149c3 Updated update-kernel
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-30 15:16:53 +02:00
y0rune 1c3d517ce5 Updated .gitignore
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-30 15:15:43 +02:00
y0rune 5b1d472097 Updated fix 2020-08-30 15:13:25 +02:00
y0rune 75d6aa6ed3 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-30 14:42:47 +02:00
y0rune bd755cf82e Uploaded
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-29 19:32:39 +02:00
y0rune 2f4470eabc Upload
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-29 18:14:13 +02:00
y0rune d5198c8a12 Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-29 16:40:44 +02:00
y0rune afd6234702 Removed elpa 2020-08-29 15:20:25 +02:00
y0rune ab92895405 Updated 2020-08-29 15:19:31 +02:00
y0rune 7e7acac761 Added emacs 2020-08-29 14:43:11 +02:00
y0rune a3e52a3bc6 Merge branch 'master' of ssh://github.com/y0rune/myhome 2020-08-29 13:55:36 +02:00
y0rune 6fe9aa5329 Updated vimrc
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-29 13:54:33 +02:00
y0rune 46f14872c8 Added firefox searchbar
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-29 13:42:38 +02:00
y0rune 707f5f6f5f Added gentoo-test
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-28 20:39:19 +02:00
y0rune e61ae12cc8 Updated
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-28 19:00:44 +02:00
y0rune 0b969ac990 Updated
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-28 16:40:27 +02:00
y0rune 0032332f08 Update
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-28 16:23:19 +02:00
y0rune affdee7408 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-27 22:35:12 +02:00
y0rune 6e1a773ae8 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-27 22:33:41 +02:00
y0rune 614cbc4891 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-27 22:20:14 +02:00
y0rune c7934633be Added firefox into wsl
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-27 11:08:27 +02:00
y0rune 9e5058fa72 Added markdown-preview
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-27 09:20:53 +02:00
y0rune 7a9b962e07 Removed emacs
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-24 19:55:00 +02:00
y0rune e3e993e26c Added
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-24 19:39:44 +02:00
y0rune 40bcda7365 Updated
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-19 09:21:01 +02:00
y0rune 07b3870e3d Updated for multisystem - bin/stream
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-08-18 08:09:15 +02:00
y0rune cbc3fdc5e6 Updated
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-13 17:58:00 +02:00
y0rune dab188b470 Added
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-04 16:20:02 +02:00
y0rune d6760355ea Added
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-04 16:12:07 +02:00
y0rune d7a11051fa Uploaded
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-04 16:09:39 +02:00
y0rune 527925369f Merge branch 'master' of github.com:y0rune/myhome into master 2020-08-04 16:05:41 +02:00
y0rune 59b3677186 Added
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-08-04 16:05:22 +02:00
y0rune 5181fb561b Updated browser-x and added notify-program
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-07-31 09:32:34 +02:00
y0rune b57512dc46 Enable newsboat in WSL and change it if I run windows or Linux.
Signed-off-by: Marcin Woźniak <y0rune@aol.com>
2020-07-30 15:44:43 +02:00
y0rune 33e6c2899d Added
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-07-15 11:24:10 +02:00
y0rune c17c400828 Updated
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-07-15 09:18:08 +02:00
y0rune 4096068e31 Updated .vimrc - added no mouse:x 2020-06-06 22:41:49 +02:00
y0rune 376f939a00 Updated .gitignore - added the .vim/
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-31 21:26:57 +02:00
y0rune 0c746fb9e0 Updated the vimrc
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-31 21:26:08 +02:00
y0rune 2c7f0f8902 Added
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-31 16:24:55 +02:00
y0rune 14f2cdd344 Updated
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-31 16:13:14 +02:00
y0rune c01050c4d3 Updated vim
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-31 15:53:43 +02:00
y0rune e18e272a06 Updated
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-31 14:50:54 +02:00
y0rune 6318e88130 Delete
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-28 10:29:01 +02:00
y0rune 2e7afa0e6b Cos 2020-05-28 10:28:46 +02:00
y0rune da66f76b13 deleted
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-28 10:27:45 +02:00
y0rune 500b2dc3c4 Cos 2020-05-28 10:26:40 +02:00
y0rune 007b45e54c Updated my dotfiles
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-27 00:03:35 +02:00
y0rune 551999a822 Updated zshrc browser-x
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-21 09:50:09 +02:00
y0rune 4b9322bacd Updated
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-18 17:04:01 +02:00
y0rune 6f58c0bf5c Updated zshrc
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-18 09:31:35 +02:00
y0rune 6e77aa44c6 Updated gkrellm, default browser, mailsync
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-17 16:22:02 +02:00
y0rune b7218fb685 Updated
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-16 21:26:00 +02:00
y0rune c52a5d7a65 Updated .gitignore and delete wmWeatherReports
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-16 16:23:55 +02:00
y0rune 0f97ace20b Updated gitignore
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-16 16:21:58 +02:00
y0rune b8c0dd63b7 Added gkrellm2 wmWeatherReports
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-16 16:19:32 +02:00
y0rune 8d5c891dc5 Added
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-13 20:48:29 +02:00
y0rune 6ace662b32 Added 2020-05-13 11:54:02 +02:00
y0rune 746d02321a Added
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-10 21:19:21 +02:00
y0rune cab0728d5b Added
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-09 22:41:27 +02:00
y0rune b62496d023 Updated
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-09 14:13:00 +02:00
y0rune 9945b3329f Added newsboat
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-09 14:12:18 +02:00
y0rune 47a25f15af Added dunst and ranger
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-09 14:11:15 +02:00
y0rune 3765f00fff Added
Signed-off-by: Marcin Wozniak <y0rune@aol.com>
2020-05-09 14:08:47 +02:00
y0rune e53c625e08 first commit 2020-05-09 13:43:39 +02:00
208 changed files with 13888 additions and 7394 deletions
@@ -1,78 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleAllowMixedLocalizations</key>
<true/>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>applet</string>
<key>CFBundleIconFile</key>
<string>applet</string>
<key>CFBundleIconName</key>
<string>applet</string>
<key>CFBundleIdentifier</key>
<string>com.apple.ScriptEditor.id.Copy-Firefox-Link--Jira</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Copy Firefox Link (Jira)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>aplt</string>
<key>LSMinimumSystemVersionByArchitecture</key>
<dict>
<key>x86_64</key>
<string>10.6</string>
</dict>
<key>LSRequiresCarbon</key>
<true/>
<key>NSAppleEventsUsageDescription</key>
<string>This script needs to control other applications to run.</string>
<key>NSAppleMusicUsageDescription</key>
<string>This script needs access to your music to run.</string>
<key>NSCalendarsUsageDescription</key>
<string>This script needs access to your calendars to run.</string>
<key>NSCameraUsageDescription</key>
<string>This script needs access to your camera to run.</string>
<key>NSContactsUsageDescription</key>
<string>This script needs access to your contacts to run.</string>
<key>NSHomeKitUsageDescription</key>
<string>This script needs access to your HomeKit Home to run.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This script needs access to your microphone to run.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This script needs access to your photos to run.</string>
<key>NSRemindersUsageDescription</key>
<string>This script needs access to your reminders to run.</string>
<key>NSSiriUsageDescription</key>
<string>This script needs access to Siri to run.</string>
<key>NSSystemAdministrationUsageDescription</key>
<string>This script needs access to administer this system to run.</string>
<key>OSAAppletShowStartupScreen</key>
<false/>
<key>WindowState</key>
<dict>
<key>bundleDividerCollapsed</key>
<true/>
<key>bundlePositionOfDivider</key>
<real>0.0</real>
<key>dividerCollapsed</key>
<false/>
<key>eventLogLevel</key>
<integer>2</integer>
<key>name</key>
<string>ScriptWindowState</string>
<key>positionOfDivider</key>
<real>394</real>
<key>savedFrame</key>
<string>952 453 700 682 0 0 2560 1409 </string>
<key>selectedTab</key>
<string>result</string>
</dict>
</dict>
</plist>
@@ -1 +0,0 @@
APPLaplt
Binary file not shown.

Before

Width:  |  Height:  |  Size: 362 B

@@ -1,5 +0,0 @@
{\rtf1\ansi\ansicpg1252\cocoartf2865
\cocoatextscaling0\cocoaplatform0{\fonttbl}
{\colortbl;\red255\green255\blue255;}
{\*\expandedcolortbl;;}
}
@@ -1,192 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/Assets.car</key>
<data>
OdbufcoyP2ZXC+wmwYcwMi/2x24=
</data>
<key>Resources/Scripts/main.scpt</key>
<data>
c++jyUmQRxdpGX36L8PJaNpf6uM=
</data>
<key>Resources/applet.icns</key>
<data>
sINd6lbiqHD5dL8c6u79cFvVXhw=
</data>
<key>Resources/applet.rsrc</key>
<data>
DlWDU4NYiJFhmwpseexPiRYHzFI=
</data>
<key>Resources/description.rtfd/TXT.rtf</key>
<data>
C1nXIy6FYUr4wNNlSEP/8NzzT/E=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/Assets.car</key>
<dict>
<key>hash</key>
<data>
OdbufcoyP2ZXC+wmwYcwMi/2x24=
</data>
<key>hash2</key>
<data>
cVUhSsEaVhMGFs9io544X4XEevDHVtRiVGUTdZ4ZHX4=
</data>
</dict>
<key>Resources/Scripts/main.scpt</key>
<dict>
<key>hash</key>
<data>
c++jyUmQRxdpGX36L8PJaNpf6uM=
</data>
<key>hash2</key>
<data>
o+Lp+bYlQlPNZa8JmZ6wdvY55TCtjUxce100Dttj5vY=
</data>
</dict>
<key>Resources/applet.icns</key>
<dict>
<key>hash</key>
<data>
sINd6lbiqHD5dL8c6u79cFvVXhw=
</data>
<key>hash2</key>
<data>
J7weZ6vlnv9r32tS5HFcyuPXl2StdDnfepLxAixlryk=
</data>
</dict>
<key>Resources/applet.rsrc</key>
<dict>
<key>hash</key>
<data>
DlWDU4NYiJFhmwpseexPiRYHzFI=
</data>
<key>hash2</key>
<data>
/UdIZRcpe3tND6vnHQP/IG8Vvt3+ZFQS5SQ+h1kescY=
</data>
</dict>
<key>Resources/description.rtfd/TXT.rtf</key>
<dict>
<key>hash</key>
<data>
C1nXIy6FYUr4wNNlSEP/8NzzT/E=
</data>
<key>hash2</key>
<data>
Y3Q9y0mIEZh55w+oHoEyN1W1UzIxrILMub7rktKsd1I=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
-11
View File
@@ -1,11 +0,0 @@
#!/bin/bash
DIR=$(dirname "$0")
for app in "$DIR"/*.app; do
echo "Installing $(basename "$app")..."
cp -rv "$app" "$HOME"/Applications/
xattr -dr com.apple.quarantine "/Applications/$(basename "$app")"
done
open "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility"
-29
View File
@@ -1,29 +0,0 @@
bash
coreutils
dockutil
duti
fastfetch
ffmpeg
git
gnu-sed
htop
imagemagick
ipcalc
iperf3
mtr
neovim
parallel
pinentry-mac
ranger
ripgrep
rsync
taplo
telnet
texinfo
tmux
tree
uv
watch
wget
zoxide
zsh
-35
View File
@@ -1,35 +0,0 @@
alacritty
brave-browser
chatterino
dbeaver-community
discord
displaylink
docker
excalidrawz
firefox
font-hack-nerd-font
karabiner-elements
keepassxc
megasync
microsoft-teams
mpv
obs
obsidian
platypus
podman-desktop
postman
qbittorrent
rustdesk
scroll-reverser
signal
slack
spotify
telegram
the-unarchiver
thunderbird
transfer
twingate
visual-studio-code
vlc
winbox
wireshark
-2
View File
@@ -1,2 +0,0 @@
example
displaylink
-183
View File
File diff suppressed because one or more lines are too long
-110
View File
@@ -1,110 +0,0 @@
# use_thin_strokes = true
[env]
TERM = "xterm-256color"
[general]
import = ["~/.config/alacritty/dracula.toml"]
[keyboard]
bindings = [
{ key = "F", mods = "Control", action = "SearchForward" },
{ key = "Left", mods = "Alt", chars = "\u001BB" },
{ key = "Return", mods = "Control|Shift", action = "SpawnNewInstance" },
{ key = "Right", mods = "Alt", chars = "\u001BF" },
{ key = "Space", mods = "Control", chars = "\u0000" },
{ key = "V", mods = "Control|Shift", action = "Paste" },
]
[window]
opacity = 0.95
[font]
size = 20
# [font.normal]
# family = "Terminess Nerd Font"
# style = "Regular"
# # [font.bold]
# # family = "Teminess Nerd Font"
# # style = "Bold"
# [font.bold_italic]
# family = "Terminess Nerd Font"
# style = "Bold Italic"
# [font.italic]
# family = "Terminess Nerd Font"
# style = "Italic"
# Comic code
[font.normal]
family = "Comic Code Ligatures"
style = "Regular"
# [font.bold]
# family = "Teminess Nerd Font"
# style = "Bold"
[font.bold_italic]
family = "Comic Code"
style = "Bold Italic"
[font.italic]
family = "Comic Code"
style = "Italic"
[font.offset]
x = 0
y = -6
[font.glyph_offset]
x = 0
y = -2
# [mouse.hints]
# modifiers = "Command"
# [mouse.hints.launcher]
# program = "open"
[selection]
save_to_clipboard = true
# Unused
[colors.bright]
black = "0x7f7f7f"
blue = "0x5c5cff"
cyan = "0x00ffff"
green = "0x00ff00"
magenta = "0xff00ff"
red = "0xff0000"
white = "0xffffff"
yellow = "0xffff00"
[colors.normal]
black = "0x000000"
blue = "0x0000ee"
cyan = "0x00cdcd"
green = "0x00cd00"
magenta = "0xcd00cd"
red = "0xcd0000"
white = "0xe5e5e5"
yellow = "0xcdcd00"
[colors.primary]
background = "0x000000"
foreground = "0xffffff"
[colors.search.focused_match]
background = "#ab4642"
foreground = "#181818"
# [colors.search.footer_bar]
# background = "#262626"
# foreground = "#d0d0d0"
[colors.search.matches]
background = "#f4bf75"
foreground = "#181818"
-76
View File
@@ -1,76 +0,0 @@
# Dracula theme for Alacritty
# https://draculatheme.com/alacritty
#
# Color palette
# https://spec.draculatheme.com
#
# Instructions
# https://github.com/alacritty/alacritty/blob/master/extra/man/alacritty.5.scd
[colors.primary]
background = "#282a36"
foreground = "#f8f8f2"
bright_foreground = "#ffffff"
[colors.cursor]
text = "#282a36"
cursor = "#f8f8f2"
[colors.vi_mode_cursor]
text = "CellBackground"
cursor = "CellForeground"
[colors.selection]
text = "CellForeground"
background = "#44475a"
[colors.normal]
black = "#21222c"
red = "#ff5555"
green = "#50fa7b"
yellow = "#f1fa8c"
blue = "#bd93f9"
magenta = "#ff79c6"
cyan = "#8be9fd"
white = "#f8f8f2"
[colors.bright]
black = "#6272a4"
red = "#ff6e6e"
green = "#69ff94"
yellow = "#ffffa5"
blue = "#d6acff"
magenta = "#ff92df"
cyan = "#a4ffff"
white = "#ffffff"
[colors.search.matches]
foreground = "#44475a"
background = "#50fa7b"
[colors.search.focused_match]
foreground = "#44475a"
background = "#ffb86c"
[colors.footer_bar]
background = "#282a36"
foreground = "#f8f8f2"
[colors.hints.start]
foreground = "#282a36"
background = "#f1fa8c"
[colors.hints.end]
foreground = "#f1fa8c"
background = "#282a36"
+16 -28
View File
@@ -1,38 +1,26 @@
# CONFIGURATION:
# Default configuration to DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Accept on localhost
# iptables -A INPUT -i lo -j ACCEPT
# iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
# Accept outgoing network
iptables -A OUTPUT -o eth0 -j ACCEPT
# Enable SSH (to that machine)
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --sport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
# Enable INZ
#iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 1285 -j ACCEPT
#iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 3000 -j ACCEPT
#iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 8080 -j ACCEPT
#Enable CSGO
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 27015 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 27020 -j ACCEPT
#iptables -A INPUT -p udp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 27015 -j ACCEPT
#iptables -A INPUT -p udp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 27020 -j ACCEPT
# Allow established sessions to receive traffic
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT
# Enable SSH (to internet)
#iptables -A OUTPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
#iptables -A OUTPUT -p tcp -m state --state NEW -m tcp --dport 10571 -j ACCEPT
# Disable SSH (to that machine)
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --sport 22 -j DROP
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 22 -j DROP
# Enable INZ
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 1285 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 3000 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp -s 192.168.0.0/24 --dport 8080 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP
iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP
# END OF CONFIG
# END CONFIGURATION:
# END OF CONFIGURATION
@@ -1 +0,0 @@
{"title":"Mouse keys ambidextrous - yorune","rules":[{"description":"Mouse keys Ambidextrous","manipulators":[{"from":{"key_code":"k","modifiers":{"mandatory":["fn"],"optional":["any"]}},"to":[{"mouse_key":{"vertical_wheel":-64}}],"type":"basic"},{"from":{"key_code":"j","modifiers":{"mandatory":["fn"],"optional":["any"]}},"to":[{"mouse_key":{"vertical_wheel":64}}],"type":"basic"},{"from":{"key_code":"h","modifiers":{"mandatory":["fn"],"optional":["any"]}},"to":[{"mouse_key":{"horizontal_wheel":64}}],"type":"basic"},{"from":{"key_code":"l","modifiers":{"mandatory":["fn"],"optional":["any"]}},"to":[{"mouse_key":{"horizontal_wheel":-64}}],"type":"basic"},{"from":{"key_code":"u","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"pointing_button":"button1"}],"type":"basic"},{"from":{"key_code":"o","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"pointing_button":"button2"}],"type":"basic"},{"from":{"key_code":"h","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"mouse_key":{"x":-1018}}],"type":"basic"},{"from":{"key_code":"j","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"mouse_key":{"y":1018}}],"type":"basic"},{"from":{"key_code":"k","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"mouse_key":{"y":-1018}}],"type":"basic"},{"from":{"key_code":"l","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"mouse_key":{"x":1018}}],"type":"basic"},{"from":{"key_code":"q","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"pointing_button":"button1"}],"type":"basic"},{"from":{"key_code":"e","modifiers":{"mandatory":["left_control","left_shift"],"optional":["any"]}},"to":[{"pointing_button":"button2"}],"type":"basic"}]}]}
-449
View File
@@ -1,449 +0,0 @@
{
"global": { "show_in_menu_bar": false },
"profiles": [
{
"complex_modifications": {
"rules": [
{
"description": "Maps F5 to ⌘⇧M in MS Teams or ⌘⇧A to ZOOM. F5 has an MIC symbol on recent MacOS keyboards.",
"manipulators": [
{
"from": { "key_code": "f5" },
"to": [{ "shell_command": "if [ $(ps aux | grep -v grep | grep -ci \"Microsoft Teams.app/Contents/Frameworks/Microsoft Teams Helper.app\") -gt 0 ]; then osascript -e 'activate application id \"com.microsoft.teams\"' -e 'tell application \"System Events\" to keystroke \"m\" using {command down, shift down}'; fi & if [ $(ps aux | grep -v grep | grep -ci \"zoom.us.app/Contents/Frameworks/cpthost.app/Contents/MacOS/CptHost\") -gt 0 ]; then osascript -e 'activate application id \"us.zoom.xos\"' -e 'tell application \"System Events\" to keystroke \"a\" using {command down, shift down}'; fi" }],
"type": "basic"
}
]
},
{
"description": "Change right_command+hjkl to arrow keys",
"manipulators": [
{
"from": {
"key_code": "h",
"modifiers": {
"mandatory": ["right_command"],
"optional": ["any"]
}
},
"to": [{ "key_code": "left_arrow" }],
"type": "basic"
},
{
"from": {
"key_code": "j",
"modifiers": {
"mandatory": ["right_command"],
"optional": ["any"]
}
},
"to": [{ "key_code": "down_arrow" }],
"type": "basic"
},
{
"from": {
"key_code": "k",
"modifiers": {
"mandatory": ["right_command"],
"optional": ["any"]
}
},
"to": [{ "key_code": "up_arrow" }],
"type": "basic"
},
{
"from": {
"key_code": "l",
"modifiers": {
"mandatory": ["right_command"],
"optional": ["any"]
}
},
"to": [{ "key_code": "right_arrow" }],
"type": "basic"
}
]
}
]
},
"devices": [
{
"fn_function_keys": [
{
"from": { "key_code": "f1" },
"to": [{ "consumer_key_code": "mute" }]
},
{
"from": { "key_code": "f2" },
"to": [{ "consumer_key_code": "volume_decrement" }]
},
{
"from": { "key_code": "f3" },
"to": [{ "consumer_key_code": "volume_increment" }]
},
{
"from": { "key_code": "f10" },
"to": [{ "consumer_key_code": "play_or_pause" }]
},
{
"from": { "key_code": "f11" },
"to": [{ "consumer_key_code": "display_brightness_decrement" }]
},
{
"from": { "key_code": "f12" },
"to": [{ "consumer_key_code": "display_brightness_increment" }]
}
],
"identifiers": {
"is_keyboard": true,
"product_id": 591,
"vendor_id": 1452
},
"simple_modifications": [
{
"from": { "key_code": "caps_lock" },
"to": [{ "key_code": "escape" }]
},
{
"from": { "key_code": "down_arrow" },
"to": [{ "pointing_button": "button32" }]
},
{
"from": { "key_code": "escape" },
"to": [{ "key_code": "grave_accent_and_tilde" }]
},
{
"from": { "key_code": "left_arrow" },
"to": [{ "pointing_button": "button32" }]
},
{
"from": { "key_code": "left_command" },
"to": [{ "key_code": "left_option" }]
},
{
"from": { "key_code": "left_option" },
"to": [{ "key_code": "right_command" }]
},
{
"from": { "key_code": "right_arrow" },
"to": [{ "pointing_button": "button32" }]
},
{
"from": { "key_code": "right_command" },
"to": [{ "key_code": "right_option" }]
},
{
"from": { "key_code": "up_arrow" },
"to": [{ "pointing_button": "button32" }]
}
]
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 631,
"vendor_id": 1452
},
"simple_modifications": [
{
"from": { "key_code": "non_us_backslash" },
"to": [{ "key_code": "grave_accent_and_tilde" }]
},
{
"from": { "key_code": "right_command" },
"to": [{ "key_code": "right_option" }]
}
]
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 6194,
"vendor_id": 4152
},
"ignore": true,
"manipulate_caps_lock_led": false
},
{
"fn_function_keys": [
{
"from": { "key_code": "f1" },
"to": [{ "key_code": "f1" }]
}
],
"identifiers": {
"is_keyboard": true,
"product_id": 615,
"vendor_id": 76
},
"simple_modifications": [
{
"from": { "key_code": "right_command" },
"to": [{ "key_code": "right_option" }]
}
]
},
{
"identifiers": {
"is_pointing_device": true,
"product_id": 6194,
"vendor_id": 4152
},
"simple_modifications": [
{
"from": { "pointing_button": "button5" },
"to": [{ "apple_vendor_keyboard_key_code": "launchpad" }]
}
]
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 30264,
"vendor_id": 3141
},
"simple_modifications": [
{
"from": { "key_code": "escape" },
"to": [{ "key_code": "grave_accent_and_tilde" }]
},
{
"from": { "key_code": "left_command" },
"to": [{ "key_code": "left_option" }]
},
{
"from": { "key_code": "left_option" },
"to": [{ "key_code": "right_command" }]
}
]
},
{
"identifiers": { "is_keyboard": true },
"simple_modifications": [
{
"from": { "key_code": "right_command" },
"to": [{ "key_code": "right_option" }]
},
{
"from": { "key_code": "right_option" },
"to": [{ "key_code": "right_command" }]
}
]
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 34056,
"vendor_id": 3141
},
"simple_modifications": [
{
"from": { "key_code": "left_command" },
"to": [{ "key_code": "left_option" }]
},
{
"from": { "key_code": "left_option" },
"to": [{ "key_code": "right_command" }]
}
]
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 615,
"vendor_id": 1452
},
"simple_modifications": [
{
"from": { "consumer_key_code": "eject" },
"to": [{ "consumer_key_code": "al_terminal_lock_or_screensaver" }]
},
{
"from": { "key_code": "right_command" },
"to": [{ "key_code": "right_option" }]
},
{
"from": { "key_code": "right_option" },
"to": [{ "key_code": "right_command" }]
}
]
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 668,
"vendor_id": 76
},
"simple_modifications": [
{
"from": { "key_code": "right_command" },
"to": [{ "key_code": "right_option" }]
},
{
"from": { "key_code": "right_option" },
"to": [{ "key_code": "right_command" }]
}
]
},
{
"fn_function_keys": [
{
"from": { "key_code": "f1" },
"to": [{ "key_code": "f1" }]
},
{
"from": { "key_code": "f2" },
"to": [{ "key_code": "f2" }]
},
{
"from": { "key_code": "f3" },
"to": [{ "key_code": "f3" }]
},
{
"from": { "key_code": "f4" },
"to": [{ "key_code": "f4" }]
},
{
"from": { "key_code": "f5" },
"to": [{ "key_code": "f5" }]
},
{
"from": { "key_code": "f6" },
"to": [{ "key_code": "f13" }]
},
{
"from": { "key_code": "f7" },
"to": [{ "key_code": "f7" }]
},
{
"from": { "key_code": "f8" },
"to": [{ "key_code": "f8" }]
},
{
"from": { "key_code": "f9" },
"to": [{ "key_code": "f9" }]
},
{
"from": { "key_code": "f10" },
"to": [{ "consumer_key_code": "play_or_pause" }]
},
{
"from": { "key_code": "f11" },
"to": [{ "consumer_key_code": "mute" }]
},
{
"from": { "key_code": "f12" },
"to": [{ "consumer_key_code": "volume_increment" }]
}
],
"identifiers": {
"is_keyboard": true,
"product_id": 45929,
"vendor_id": 1133
},
"manipulate_caps_lock_led": false,
"simple_modifications": [
{
"from": { "key_code": "right_command" },
"to": [{ "key_code": "right_option" }]
},
{
"from": { "key_code": "right_option" },
"to": [{ "key_code": "right_command" }]
}
]
},
{
"fn_function_keys": [
{
"from": { "key_code": "f1" },
"to": [{ "key_code": "f1" }]
},
{
"from": { "key_code": "f2" },
"to": [{ "key_code": "f2" }]
},
{
"from": { "key_code": "f11" },
"to": [{ "key_code": "f11" }]
}
],
"identifiers": {
"is_keyboard": true,
"product_id": 785,
"vendor_id": 13364
},
"simple_modifications": [
{
"from": { "key_code": "grave_accent_and_tilde" },
"to": [{ "key_code": "non_us_backslash" }]
},
{
"from": { "key_code": "right_control" },
"to": [{ "key_code": "grave_accent_and_tilde" }]
}
]
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 666,
"vendor_id": 76
},
"simple_modifications": [
{
"from": { "key_code": "right_command" },
"to": [{ "key_code": "right_option" }]
}
]
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 666,
"vendor_id": 1452
},
"simple_modifications": [
{
"from": { "key_code": "right_command" },
"to": [{ "key_code": "right_option" }]
}
]
},
{
"identifiers": {
"is_keyboard": true,
"product_id": 34304,
"vendor_id": 1452
},
"ignore": true
}
],
"fn_function_keys": [
{
"from": { "key_code": "f4" },
"to": [{ "apple_vendor_keyboard_key_code": "mission_control" }]
},
{
"from": { "key_code": "f5" },
"to": [{ "key_code": "f5" }]
}
],
"name": "Default profile",
"selected": true,
"simple_modifications": [
{
"from": { "consumer_key_code": "eject" },
"to": [{ "consumer_key_code": "al_terminal_lock_or_screensaver" }]
},
{
"from": { "key_code": "caps_lock" },
"to": [{ "key_code": "escape" }]
}
],
"virtual_hid_keyboard": {
"country_code": 0,
"keyboard_type_v2": "iso"
}
}
]
}
@@ -1,206 +0,0 @@
{
"title": "Mouse keys ambidextrous - yorune",
"rules": [
{
"description": "Mouse keys Ambidextrous",
"manipulators": [
{
"from": {
"key_code": "k",
"modifiers": {
"mandatory": ["fn"],
"optional": ["any"]
}
},
"to": [
{
"mouse_key": {
"vertical_wheel": -64
}
}
],
"type": "basic"
},
{
"from": {
"key_code": "j",
"modifiers": {
"mandatory": ["fn"],
"optional": ["any"]
}
},
"to": [
{
"mouse_key": {
"vertical_wheel": 64
}
}
],
"type": "basic"
},
{
"from": {
"key_code": "h",
"modifiers": {
"mandatory": ["fn"],
"optional": ["any"]
}
},
"to": [
{
"mouse_key": {
"horizontal_wheel": 64
}
}
],
"type": "basic"
},
{
"from": {
"key_code": "l",
"modifiers": {
"mandatory": ["fn"],
"optional": ["any"]
}
},
"to": [
{
"mouse_key": {
"horizontal_wheel": -64
}
}
],
"type": "basic"
},
{
"from": {
"key_code": "u",
"modifiers": {
"mandatory": ["left_control", "left_shift"],
"optional": ["any"]
}
},
"to": [
{
"pointing_button": "button1"
}
],
"type": "basic"
},
{
"from": {
"key_code": "o",
"modifiers": {
"mandatory": ["left_control", "left_shift"],
"optional": ["any"]
}
},
"to": [
{
"pointing_button": "button2"
}
],
"type": "basic"
},
{
"from": {
"key_code": "h",
"modifiers": {
"mandatory": ["left_control", "left_shift"],
"optional": ["any"]
}
},
"to": [
{
"mouse_key": {
"x": -1018
}
}
],
"type": "basic"
},
{
"from": {
"key_code": "j",
"modifiers": {
"mandatory": ["left_control", "left_shift"],
"optional": ["any"]
}
},
"to": [
{
"mouse_key": {
"y": 1018
}
}
],
"type": "basic"
},
{
"from": {
"key_code": "k",
"modifiers": {
"mandatory": ["left_control", "left_shift"],
"optional": ["any"]
}
},
"to": [
{
"mouse_key": {
"y": -1018
}
}
],
"type": "basic"
},
{
"from": {
"key_code": "l",
"modifiers": {
"mandatory": ["left_control", "left_shift"],
"optional": ["any"]
}
},
"to": [
{
"mouse_key": {
"x": 1018
}
}
],
"type": "basic"
},
{
"from": {
"key_code": "q",
"modifiers": {
"mandatory": ["left_control", "left_shift"],
"optional": ["any"]
}
},
"to": [
{
"pointing_button": "button1"
}
],
"type": "basic"
},
{
"from": {
"key_code": "e",
"modifiers": {
"mandatory": ["left_control", "left_shift"],
"optional": ["any"]
}
},
"to": [
{
"pointing_button": "button2"
}
],
"type": "basic"
}
]
}
]
}
-417
View File
@@ -1,417 +0,0 @@
{
"name": "Keychron V1",
"vendorProductId": 875823889,
"macros": [
"",
"{KC_LGUI,KC_LCTL,KC_Q}",
"{KC_RGUI,KC_L}",
"Have a nice day",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"it-infra-stream@wundermanthompson.com",
"marcin.wozniak@wundermanthompson.com",
"Have a nice day!\n\n---\nMarcin\n"
],
"layers": [
[
"KC_GRV",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_F12",
"KC_DEL",
"KC_NO",
"KC_MUTE",
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_6",
"KC_7",
"KC_8",
"KC_9",
"KC_0",
"KC_MINS",
"KC_EQL",
"KC_BSPC",
"KC_NO",
"KC_PGUP",
"KC_TAB",
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_LBRC",
"KC_RBRC",
"KC_BSLS",
"KC_NO",
"KC_PGDN",
"KC_ESC",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_H",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_QUOT",
"KC_NO",
"KC_ENT",
"KC_NO",
"KC_HOME",
"KC_LSFT",
"KC_NO",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_N",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_NO",
"KC_RSFT",
"KC_UP",
"KC_NO",
"KC_LCTL",
"USER02",
"USER05",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_SPC",
"KC_VOLD",
"KC_VOLU",
"KC_NO",
"USER03",
"MO(1)",
"USER05",
"KC_LEFT",
"KC_DOWN",
"KC_RGHT"
],
[
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"BL_DEC",
"BL_INC",
"KC_MPRV",
"KC_MPLY",
"KC_MNXT",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_PSCR",
"KC_NO",
"RGB_TOG",
"KC_TRNS",
"KC_TRNS",
"MACRO01",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"MACRO13",
"MACRO14",
"MACRO15",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_MS_BTN1",
"KC_MS_UP",
"KC_MS_BTN2",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_MS_LEFT",
"KC_MS_DOWN",
"KC_MS_RIGHT",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_NO",
"KC_END",
"KC_TRNS",
"KC_NO",
"KC_MS_WH_UP",
"KC_MS_WH_DOWN",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_TRNS",
"RGB_VAD",
"RGB_VAI",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
],
[
"KC_GRV",
"KC_F1",
"KC_F2",
"KC_F3",
"KC_F4",
"KC_F5",
"KC_F6",
"KC_F7",
"KC_F8",
"KC_F9",
"KC_F10",
"KC_F11",
"KC_F12",
"KC_DEL",
"KC_NO",
"KC_MUTE",
"KC_GRV",
"KC_1",
"KC_2",
"KC_3",
"KC_4",
"KC_5",
"KC_6",
"KC_7",
"KC_8",
"KC_9",
"KC_0",
"KC_MINS",
"KC_EQL",
"KC_BSPC",
"KC_NO",
"KC_PGUP",
"KC_TAB",
"KC_Q",
"KC_W",
"KC_E",
"KC_R",
"KC_T",
"KC_Y",
"KC_U",
"KC_I",
"KC_O",
"KC_P",
"KC_LBRC",
"KC_RBRC",
"KC_BSLS",
"KC_NO",
"KC_PGDN",
"KC_ESC",
"KC_A",
"KC_S",
"KC_D",
"KC_F",
"KC_G",
"KC_H",
"KC_J",
"KC_K",
"KC_L",
"KC_SCLN",
"KC_QUOT",
"KC_NO",
"KC_ENT",
"KC_NO",
"KC_HOME",
"KC_LSFT",
"KC_NO",
"KC_Z",
"KC_X",
"KC_C",
"KC_V",
"KC_B",
"KC_N",
"KC_M",
"KC_COMM",
"KC_DOT",
"KC_SLSH",
"KC_NO",
"KC_RSFT",
"KC_UP",
"KC_NO",
"KC_LCTL",
"KC_LGUI",
"KC_LALT",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_SPC",
"KC_VOLD",
"KC_VOLU",
"KC_NO",
"KC_RALT",
"MO(3)",
"KC_RCTL",
"KC_LEFT",
"KC_DOWN",
"KC_RGHT"
],
[
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"BL_DEC",
"BL_INC",
"KC_MPRV",
"KC_MPLY",
"KC_MNXT",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_PSCR",
"KC_NO",
"RGB_TOG",
"KC_TRNS",
"KC_TRNS",
"MACRO02",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"MACRO13",
"MACRO14",
"MACRO15",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_MS_BTN1",
"KC_MS_UP",
"KC_MS_BTN2",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_MS_LEFT",
"KC_MS_DOWN",
"KC_MS_RIGHT",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_NO",
"KC_END",
"KC_TRNS",
"KC_NO",
"KC_MS_WH_UP",
"KC_MS_WH_DOWN",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_NO",
"KC_NO",
"KC_NO",
"KC_TRNS",
"RGB_VAD",
"RGB_VAI",
"KC_NO",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS",
"KC_TRNS"
]
],
"encoders": []
}
-248
View File
@@ -1,248 +0,0 @@
{
"name": "Keychron V1",
"vendorId": "0x3434",
"productId": "0x0311",
"lighting": {
"extends": "qmk_rgblight",
"underglowEffects": [
["None", 0],
["SOLID_COLOR", 1],
["BREATHING", 1],
["CYCLE_ALL", 1],
["CYCLE_LEFT_RIGHT", 1],
["CYCLE_UP_DOWN", 1],
["RAINBOW_MOVING_CHEVRON", 1],
["CYCLE_OUT_IN", 1],
["CYCLE_OUT_IN_DUAL", 1],
["CYCLE_PINWHEEL", 1],
["CYCKE_SPIRAL", 1],
["DUAL_BEACON", 1],
["RAINBOW_BEACON", 1],
["RAINDROPS", 1]
]
},
"matrix": {"rows": 6, "cols": 16},
"customKeycodes": [
{"name": "Mission Control", "title": "Mission Control in macOS", "shortName": "Mission Control"},
{"name": "Launch Pad", "title": "Launch Pad in macOS", "shortName": "Launch Pad"},
{"name": "Left Option", "title": "Left Option in macOS", "shortName": "Left Option"},
{"name": "Right Option", "title": "Right Option in macOS", "shortName": "Right Option"},
{"name": "Left Cmd", "title": "Left Command in macOS", "shortName": "Left Command"},
{"name": "Right Cmd", "title": "Right Command in macOS", "shortName": "Right Command"},
{"name": "Task View", "title": "Task View in windows", "shortName": "Task View"},
{"name": "File Explorer", "title": "File Explorer in windows", "shortName": "File Explorer"}
],
"layouts": {
"keymap": [
[
{
"c": "#777777"
},
"0,0\nESC",
{
"x": 0.25,
"c": "#cccccc"
},
"0,1",
"0,2",
"0,3",
"0,4",
{
"x": 0.25
},
"0,5",
"0,6",
"0,7",
"0,8",
{
"x": 0.25
},
"0,9",
"0,10",
"0,11",
"0,12",
{
"x": 0.25,
"c": "#aaaaaa"
},
"0,13",
{
"x": 0.25,
"w": 0.75
},
"0,15",
{
"h": 0.5
},
"5,7",
{
"x": -1,
"y": 0.5,
"h": 0.5
},
"5,8"
],
[
{
"y": -0.25
},
"1,0",
{
"c": "#cccccc"
},
"1,1",
"1,2",
"1,3",
"1,4",
"1,5",
"1,6",
"1,7",
"1,8",
"1,9",
"1,10",
"1,11",
"1,12",
{
"c": "#aaaaaa",
"w": 2
},
"1,13",
{
"x": 0.25
},
"1,15"
],
[
{
"w": 1.5
},
"2,0",
{
"c": "#cccccc"
},
"2,1",
"2,2",
"2,3",
"2,4",
"2,5",
"2,6",
"2,7",
"2,8",
"2,9",
"2,10",
"2,11",
"2,12",
{
"w": 1.5
},
"2,13",
{
"x": 0.25,
"c": "#aaaaaa"
},
"2,15"
],
[
{
"w": 1.75
},
"3,0",
{
"c": "#cccccc"
},
"3,1",
"3,2",
"3,3",
"3,4",
"3,5",
"3,6",
"3,7",
"3,8",
"3,9",
"3,10",
"3,11",
{
"c": "#777777",
"w": 2.25
},
"3,13",
{
"x": 0.25,
"c": "#aaaaaa"
},
"3,15"
],
[
{
"w": 2.25
},
"4,0",
{
"c": "#cccccc"
},
"4,2",
"4,3",
"4,4",
"4,5",
"4,6",
"4,7",
"4,8",
"4,9",
"4,10",
"4,11",
{
"c": "#aaaaaa",
"w": 1.75
},
"4,13"
],
[
{
"y": -0.75,
"x": 14.25,
"c": "#777777"
},
"4,14"
],
[
{
"y": -0.25,
"c": "#aaaaaa",
"w": 1.25
},
"5,0",
{
"w": 1.25
},
"5,1",
{
"w": 1.25
},
"5,2",
{
"c": "#cccccc",
"a": 7,
"w": 6.25
},
"5,6",
{
"c": "#aaaaaa",
"a": 4
},
"5,10",
"5,11",
"5,12"
],
[
{
"y": -0.75,
"x": 13.25,
"c": "#777777"
},
"5,13",
"5,14",
"5,15"
]
]
}
}
-16
View File
@@ -1,16 +0,0 @@
refresher:
refreshInterval: 60
gui:
useHunkModeInStagingView: false
mainPanelSplitMode: "horizontal"
theme:
selectedLineBgColor:
- "#413660"
git:
autoFetch: true
paging:
colorArg: always
commit:
signOff: true
pull:
mode: "rebase"
-8
View File
@@ -1,8 +0,0 @@
[lutris]
library_ignores =
migration_version = 10
width = 1908
height = 1001
maximized = False
selected_category = runner:linux
-13
View File
@@ -1,24 +1,11 @@
# Restrict readahead and backbuffer to 40MiB from default of 400MiB
cache=yes
demuxer-max-bytes=2147483647
demuxer-max-back-bytes=2147483647
# Always allow seeking, e.g. allow seeking within a local cache of HTTP stream
force-seekable=yes
# Always open a video window even with no video
force-window=yes
# Don't exit when the end of playlist is reached
keep-open=yes
# Always save the current playback position on exit
save-position-on-quit=yes
# ontop=yes
# Geometry settings
geometry=50%:50%
autofit=50%
# Create 'high-quality' profile
[high-quality]
+3 -17
View File
@@ -15,26 +15,12 @@ unbind-key p
bind-key n next
bind-key p prev
# unbind keys
unbind-key j
unbind-key k
unbind-key J
unbind-key K
# bind keys - vim style
bind-key j down
bind-key k up
bind-key l open
bind-key h quit
bind-key ESC quit
highlight all "====.*====" yellow
color listnormal default default
color listnormal cyan default
color listfocus black yellow standout bold
color listnormal_unread cyan default
color listnormal_unread blue default
color listfocus_unread yellow default bold
color info red black bold
color article white default bold
browser "$HOME/.local/bin/browser-x -new-tab %u"
browser "/home/yorune/.local/bin/browser-x -new-tab %u"
player mpv
+58 -8
View File
@@ -1,19 +1,69 @@
=====================NEWS====================================
https://wtf.roflcopter.fr/rss-bridge/?action=display&bridge=Facebook&context=User&u=infoKONINpl&media_type=all&limit=-1&format=Mrss "~infoKONIN - Facebook"
shttps://wtf.roflcopter.fr/rss-bridge/?action=display&bridge=Facebook&context=User&u=gminakleczew&media_type=all&limit=-1&format=Mrss "~Gmina Kleczew - Facebook"
https://wtf.roflcopter.fr/rss-bridge/?action=display&bridge=Facebook&context=User&u=portalLM&media_type=all&limit=-1&format=Mrss "~Portal lm.pl - Facebook"
https://nitter.net/MZ_GOV_PL/rss "~MZ_GOV_PL - Twitter"
http://www.epoznan.pl/rss.php "~Epoznan - Website"
https://sekurak.pl/feed/ "~Sekurak"
https://feeds.feedburner.com/niebezpiecznik/ "~Niebezpiecznik"
http://rss.slashdot.org/Slashdot/slashdotMain "SlashDot"
=====================SOCIAL=================================
https://nitter.net/renerebetm/rss "~Rene Rebe - Twitter"
============================================================
https://repology.org/maintainer/y0rune%40aol.com/feed-for-repo/gentoo_ovl_guru/atom "~GURU OUTDATE MAINTAINER"
https://bugs.gentoo.org/buglist.cgi?bug_status=UNCONFIRMED&chfieldfrom=24h&ctype=atom&title=NEW&list_id=4468306&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&query_format=advanced Gentoo
https://bugs.gentoo.org/buglist.cgi?email1=y0rune%40aol.com&emailassigned_to1=1&emailtype1=substring&list_id=5834010&query_format=advanced&resolution=---&title=Bug%20List&ctype=atom "~ASSIGNEE TO ME"
https://bugs.gentoo.org/buglist.cgi?component=Package%20issues&product=GURU&query_format=advanced&resolution=---&title=Bug%20List&ctype=atom "~GURU-BUGS"
https://bugs.gentoo.org/buglist.cgi?component=Package%20issues&product=GURU&query_format=advanced&resolution=---&title=Bug%20List&ctype=atom GURU-BUGS
https://bugs.gentoo.org/buglist.cgi?component=Trusted%20Contributor%20ascension&product=GURU&query_format=advanced&resolution=---&title=Bug%20List&ctype=atom
https://www.reddit.com/r/gentoo/new.rss "~Gentoo - Reddit"
=====================PODCASTY===============================
https://www.internet-czas-dzialac.pl/rss/
============================================================
http://rss.uptimerobot.com/u674346-753d02ab763f3725330347d4419a7569 "~UpTimeRoboot"
=====================YOUTUBE=================================
=====================ANIME===================================
https://mirror.animetosho.org/feed/rss2?only_tor=1&q=%5BHorribleSubs%5D%20Sword%20Art%20Online%20720p&filter%5B0%5D%5Bt%5D=nyaa_class&filter%5B0%5D%5Bv%5D=trusted "~Sword Art Online"
=====================YOUTUBE=================================
https://www.youtube.com/feeds/videos.xml?channel_id=UCzuvRWjh7k1SZm1RvqvIx4w "~Krzysztof Gonciarz"
https://www.youtube.com/feeds/videos.xml?channel_id=UC3QOjSZmJuYgb98BAzKfzig "~Zapytaj Beczkę"
https://www.youtube.com/feeds/videos.xml?channel_id=UC2eYFnH61tmytImy1mTYvhA "~Luke Smith"
https://www.youtube.com/feeds/videos.xml?channel_id=UC2qQkGwReBfucb6yWr7idRA "~Asia Ladowska"
https://www.youtube.com/feeds/videos.xml?channel_id=UC5ZSM0kOGhtLdtZiqM2noWw "~StudyWithInSpo"
https://www.youtube.com/feeds/videos.xml?channel_id=UC84AaEtr7hlaYYwXDSKAbNg "~Ignacy z Japonii"
https://www.youtube.com/feeds/videos.xml?channel_id=UC8JbbaZ_jgdsoUqrZ2bXtQQ "~Lekko Stronniczy"
https://www.youtube.com/feeds/videos.xml?channel_id=UC8q23MpiyWjv9vd4r85oj1A "~Daniel Rakowiecki"
https://www.youtube.com/feeds/videos.xml?channel_id=UC9Vi25H6lQvPqcepJCJ3sEg "~Emma"
https://www.youtube.com/feeds/videos.xml?channel_id=UCAD-xOOaUI6N7Uq9laOVbcw "~Rene Rene"
https://www.youtube.com/feeds/videos.xml?channel_id=UCAEQl0BbYrPyTnsWVBJuIqQ
https://www.youtube.com/feeds/videos.xml?channel_id=UCaG-Uk3PSpHexeUJaJC_TPw
https://www.youtube.com/feeds/videos.xml?channel_id=UCAkBZtIl-a0fBLcY7JCPSQw
https://www.youtube.com/feeds/videos.xml?channel_id=UCB-4hoTjsE3VIFI862C5SZA
https://www.youtube.com/feeds/videos.xml?channel_id=UCE5Au4LfcBHxTQR_yLbncrQ
https://www.youtube.com/feeds/videos.xml?channel_id=UCe6nK69Yc1zna7QSJEfA9pw
https://www.youtube.com/feeds/videos.xml?channel_id=UCEbYhDd6c6vngsF5PQpFVWg
https://www.youtube.com/feeds/videos.xml?channel_id=UCELsE3w85wy7hXFmU2eRn_w
https://www.youtube.com/feeds/videos.xml?channel_id=UCfegHHvKywKjJ69Ymcb6j0w
https://www.youtube.com/feeds/videos.xml?channel_id=UCFGud6qsbaAjuP6WaXAJj3Q
https://www.youtube.com/feeds/videos.xml?channel_id=UCH2OHdQF5c2r2M_l_vPiXRA
https://www.youtube.com/feeds/videos.xml?channel_id=UCIDf8pzX2oZmjXtqMwHn0xg
https://www.youtube.com/feeds/videos.xml?channel_id=UCIj6yjWVKPKO5zNLBjQ8Beg
https://www.youtube.com/feeds/videos.xml?channel_id=UCJ24N4O0bP7LGLBDvye7oCA
https://www.youtube.com/feeds/videos.xml?channel_id=UCJkmbV_cndEe6Af8b5qVyoQ
https://www.youtube.com/feeds/videos.xml?channel_id=UCJLLl6AraX1POemgLfhirwg
https://www.youtube.com/feeds/videos.xml?channel_id=UCjS2aGCvsnhExcWRAI8T4Pw
https://www.youtube.com/feeds/videos.xml?channel_id=UCMsi03EhTUsUs2OtPus6XDQ
https://www.youtube.com/feeds/videos.xml?channel_id=UCMTkC2dA25yFsmtaevpYWfg
https://www.youtube.com/feeds/videos.xml?channel_id=UCnOo8dtBgwJbdwl4HxqPHwg
https://www.youtube.com/feeds/videos.xml?channel_id=UCO8DQrSp5yEP937qNqTooOw
https://www.youtube.com/feeds/videos.xml?channel_id=UCoJjEsNkU-Md3xB6BursT0Q
https://www.youtube.com/feeds/videos.xml?channel_id=UCoXxgqIOTa8qCM7Hd7RiURw
https://www.youtube.com/feeds/videos.xml?channel_id=UCPc_saLjikyw-1sscFsHIsA
https://www.youtube.com/feeds/videos.xml?channel_id=UCPKgIhTC3BdkAwMw6s-GEug
https://www.youtube.com/feeds/videos.xml?channel_id=UCRxAgfYexGLlu1WHGIMUDqw
https://www.youtube.com/feeds/videos.xml?channel_id=UCs02jgjMVeirmDHaxAXApkg
https://www.youtube.com/feeds/videos.xml?channel_id=UCsnGwSIHyoYN0kiINAGUKxg
https://www.youtube.com/feeds/videos.xml?channel_id=UCv9wKjBogC5AVG54s_Imn0A
https://www.youtube.com/feeds/videos.xml?channel_id=UCvbEYH_h8k-hHq2oS-7zIdQ
https://www.youtube.com/feeds/videos.xml?channel_id=UCVbn813ctsoChuTT4LuLqrA
https://www.youtube.com/feeds/videos.xml?channel_id=UCVVt5tbZEzfQSIsHUh3b_vg
https://www.youtube.com/feeds/videos.xml?channel_id=UCw3T7SvPYDHCkdMhC0NcKsw
https://www.youtube.com/feeds/videos.xml?channel_id=UCWcz2SQMCcijkVta0hSERIA
https://www.youtube.com/feeds/videos.xml?channel_id=UCWFKCr40YwOZQx8FHU_ZqqQ
https://www.youtube.com/feeds/videos.xml?channel_id=UCXRJfVWEjv9qxooSbOkFmkw
https://www.youtube.com/feeds/videos.xml?channel_id=UCXuqSBlHAE6Xw-yeJA0Tunw
https://www.youtube.com/feeds/videos.xml?channel_id=UCZgyxIrQnTDLwwEr9VSkoPA
https://www.youtube.com/feeds/videos.xml?channel_id=UCZKqIdmPtIU6DOTmWxzudKw
=============================================================
-62
View File
@@ -1,62 +0,0 @@
{
"yaml.schemaStore.enable": true,
"yaml.format.enable": true,
"yaml.validate": true,
"yaml.schemas": {
"https://json.schemastore.org/ansible-role-2.9.json": "*.yaml",
"https://json.schemastore.org/ansible-playbook.json": "*.yaml",
"https://json.schemastore.org/ansible-inventory.json": "*yaml",
"https://raw.githubusercontent.com/ansible-community/schemas/main/f/ansible-galaxy.json": "*.yaml",
"https://raw.githubusercontent.com/docker/cli/master/cli/compose/schema/data/config_schema_v3.9.json": "*docker-compose.yml",
"https://json.schemastore.org/github-workflow.json": ".github/workflows/*",
"https://json.schemastore.org/docker-compose.json": "*.yaml"
},
"python.formatting.provider": "black",
"python.formatting.blackArgs": ["--line-length", "80"],
"python.pythonPath": "python3",
"diagnostic.refreshOnInsertMode": "true",
"coc.preferences.formatOnSaveFiletypes": [
"sh",
"yaml",
"json",
"python",
"css",
"markdown",
"ruby",
"go"
],
"diagnostic.virtualText": true,
"diagnostic.virtualTextCurrentLineOnly": false,
"diagnostic.checkCurrentLine": false,
"diagnostic-languageserver.filetypes": {
"markdown": ["write-good", "markdownlint"],
"sh": "shellcheck"
},
"languageserver": {
"bash": {
"command": "bash-language-server",
"args": ["start"],
"filetypes": ["sh"],
"ignoredRootPaths": ["~"]
},
"ccls": {
"command": "ccls",
"filetypes": ["c", "cpp", "objc", "objcpp"],
"rootPatterns": [
".ccls",
"compile_commands.json",
".vim/",
".git/",
".hg/"
],
"trace.server": "verbose",
"initializationOptions": {
"cache": {
"directory": "/tmp/ccls"
}
}
}
},
"solargraph.formatting": true
}
+81 -668
View File
@@ -1,45 +1,66 @@
""""""""""""""""""""""""""""""""
" Download vim-plug
""""""""""""""""""""""""""""""""
if has('nvim')
if ! filereadable(system('echo -n "$HOME/.config/nvim/autoload/plug.vim"'))
silent !mkdir -p $HOME/.config/nvim/autoload/
silent !curl --silent "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > $HOME/.config/nvim/autoload/plug.vim
autocmd VimEnter * PlugInstall
endif
" settings
if ! filereadable(system('echo -n "$HOME/.config/nvim/autoload/plug.vim"'))
silent !mkdir -p $HOME/.config/nvim/autoload/
silent !curl --silent "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > $HOME/.config/nvim/autoload/plug.vim
autocmd VimEnter * PlugInstall
endif
""""""""""""""""""""""""""""""""
" Default settings nvim
""""""""""""""""""""""""""""""""
let g:python3_host_prog = expand('/opt/homebrew/bin/python3.13')
let g:loaded_python_provider = 0
let g:python_host_prog = ''
set autoindent
set expandtab
set softtabstop=4
set laststatus=2
set shiftwidth=4
set softtabstop=4
set tabstop=4
set nocompatible
set noshowmode
set noerrorbells
set wrap
set hidden
set cmdheight=1
set encoding=utf-8
set undofile
set scrolloff=8
set termguicolors
set t_BE=
set splitbelow splitright
au BufWritePre * let &bex = '@' . strftime("%F.%H:%M")
filetype plugin indent on
""
" plugins
call plug#begin('~/.config/nvim/plugged')
Plug 'preservim/nerdtree'
Plug 'nmante/vim-latex-live-preview'
Plug 'lervag/vimtex'
Plug 'junegunn/goyo.vim'
Plug 'iamcco/markdown-preview.nvim', { 'do': 'npm install --force' }
Plug 'vim-scripts/bash-support.vim'
Plug 'vim-syntastic/syntastic'
call plug#end()
" NerdTree
let NERDTreeShowHidden=1
" Status-line
set statusline=
set statusline+=%#IncSearch#
set statusline+=\ %y
set statusline+=\ %r
set statusline+=%#CursorLineNr#
set statusline+=\ %F
set statusline+=%= "Right side settings
set statusline+=%#Search#
set statusline+=\ %l/%L
set statusline+=\ [%c]
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
"let g:syntastic_always_populate_loc_list = 1
"let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
set nocompatible
set hlsearch
set incsearch
set noshowmode
set cmdheight=1
syntax on
filetype plugin indent on
set encoding=utf-8
" Disable by default indent line
" let g:indentLine_enabled = 0
" livepreviewer
let g:livepreview_previewer = 'mupdf'
" ansible
let g:ansible_extra_keywords_highlight = 1
" markdown preview
let g:mkdp_browser = '/home/yorune/.local/bin/browser-x'
let g:mkdp_echo_preview_url = 1
" line numbers
set number
@@ -48,14 +69,15 @@ set title
" indent
set backspace=indent,eol,start
"set list listchars=nbsp:¬,tab:»·,trail:·,extends:>
set list listchars=tab:\│\ ,trail
let g:indentLine_char_list = ['│', '│', '│', '│']
set shiftwidth=4
set expandtab
" editing
runtime! macros/matchit.vim
set backspace=indent,eol,start
" visual feedback
set laststatus=2
set showmode
set showcmd
@@ -71,651 +93,42 @@ set smartcase
set ic
" cursor
set guicursor=
set guicursor+=a:blinkon0
let &t_SI = "\<esc>[6 q"
let &t_SR = "\<esc>[6 q"
let &t_EI = "\<esc>[6 q"
let &t_EI = "\<esc>[2 q"
""""""""""""""""""""""""""""""""
" Plugins
""""""""""""""""""""""""""""""""
call plug#begin('~/.config/nvim/plugged')
" Markdown
Plug 'tpope/vim-markdown'
" colors
set bg=dark
hi CursorLine cterm=NONE term=NONE ctermbg=NONE guibg=NONE
hi CursorLine ctermbg=235
" Live-preview
Plug 'nmante/vim-latex-live-preview'
" map
nnoremap ,nn :set nu! <CR>
nnoremap ,NN :set nu <CR>
inoremap <silent> ,f <Esc>i--<CR>Regards,<CR>Marcin Woźniak<CR>https://yorune.pl<Esc>
nnoremap S :%s//g<Left><Left>
nnoremap ee :!mupdf $(echo % \| sed 's/tex$/pdf/') & disown<CR><CR>
map <C-n> :NERDTreeToggle<CR>
nnoremap <silent> <C-t> :tabnew <CR>
nnoremap <F11> :Goyo <CR>
nnoremap <F7> :tabprevious<CR>
nnoremap <F8> :tabnext<CR>
" Goyo plugin for writing mutt mail
Plug 'junegunn/goyo.vim'
" Themes
Plug 'gruvbox-community/gruvbox', { 'as': 'gruvbox'}
Plug 'Mofiqul/dracula.nvim'
" Fzf plugin
Plug 'junegunn/fzf.vim'
Plug 'junegunn/fzf'
" CSS
Plug 'ap/vim-css-color'
" Copilot
Plug 'github/copilot.vim'
" PyRight
Plug 'sakhnik/nvim-gdb', { 'do': ':!./install.sh' }
" Ansible yaml
Plug 'pearofducks/ansible-vim', { 'do': './UltiSnips/generate.sh' }
Plug 'Yggdroot/indentLine'
" Terraform
Plug 'hashivim/vim-terraform'
" GoLang
Plug 'fatih/vim-go'
" Multiple cursors
Plug 'terryma/vim-multiple-cursors'
" Enable gentoo-syntax in vim
Plug 'gentoo/gentoo-syntax'
Plug 'tpope/vim-commentary'
Plug 'tpope/vim-surround'
Plug 'junegunn/vim-easy-align'
" Git tool
Plug 'tpope/vim-fugitive'
" Prettier
Plug 'prettier/vim-prettier', { 'do': 'yarn install --frozen-lockfile --production' }
" Debug
Plug 'puremourning/vimspector'
Plug 'mfussenegger/nvim-dap'
" LSP
Plug 'neovim/nvim-lspconfig'
Plug 'hrsh7th/nvim-cmp'
Plug 'hrsh7th/cmp-buffer'
Plug 'hrsh7th/cmp-path'
Plug 'hrsh7th/cmp-cmdline'
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'saadparwaiz1/cmp_luasnip'
Plug 'L3MON4D3/LuaSnip'
Plug 'sbdchd/neoformat'
Plug 'hrsh7th/cmp-vsnip'
Plug 'hrsh7th/vim-vsnip'
Plug 'hrsh7th/vim-vsnip-integ'
" Telescope
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
" Tree
Plug 'nvim-tree/nvim-web-devicons'
Plug 'nvim-tree/nvim-tree.lua'
" SHFMT
Plug 'z0mbix/vim-shfmt', { 'for': 'sh' }
" Mikrotik
Plug 'zainin/vim-mikrotik'
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
Plug 'nvim-treesitter/nvim-treesitter-context'
" Autopair
Plug 'windwp/nvim-autopairs'
" AI
Plug 'folke/snacks.nvim'
Plug 'coder/claudecode.nvim'
call plug#end()
" LUA
lua<<EOF
vim.filetype.add({
-- Ansible
pattern = {
[".*playbooks/.*%.ya?ml"] = "yaml.ansible",
[".*tasks/.*%.ya?ml"] = "yaml.ansible",
[".*handlers/.*%.ya?ml"] = "yaml.ansible",
[".*roles/.*/.*%.ya?ml"] = "yaml.ansible",
},
-- Docker Compose + GitLab CI (merged into one filename table)
filename = {
["docker-compose.yml"] = "yaml.docker-compose",
["docker-compose.yaml"] = "yaml.docker-compose",
[".gitlab-ci.yml"] = "yaml.gitlab",
[".gitlab-ci.yaml"] = "yaml.gitlab",
},
})
-- capabilities for nvim-cmp
local capabilities = require('cmp_nvim_lsp').default_capabilities()
-- Prefer LspAttach instead of per-server on_attach
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(args)
local bufnr = args.buf
vim.bo[bufnr].omnifunc = 'v:lua.vim.lsp.omnifunc'
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, { buffer = bufnr, silent = true })
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { buffer = bufnr, silent = true })
vim.keymap.set('n', '<space>K', vim.lsp.buf.hover, { buffer = bufnr, silent = true })
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, { buffer = bufnr, silent = true })
vim.keymap.set('n', 'ge', vim.diagnostic.setqflist, { buffer = bufnr, silent = true })
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, { buffer = bufnr, silent = true })
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, { buffer = bufnr, silent = true })
vim.keymap.set('n', 'gr', vim.lsp.buf.references, { buffer = bufnr, silent = true })
end,
})
local border = 'rounded'
vim.lsp.config('*', {
capabilities = capabilities,
})
vim.diagnostic.config({
float = { border = border },
})
vim.lsp.handlers["textDocument/hover"] = function(err, result, ctx, config)
config = config or {}
config.border = border
return vim.lsp.handlers.hover(err, result, ctx, config)
end
vim.lsp.handlers["textDocument/signatureHelp"] = function(err, result, ctx, config)
config = config or {}
config.border = border
return vim.lsp.handlers.signature_help(err, result, ctx, config)
end
-- Server-specific overrides
vim.lsp.config('yamlls', {
settings = {
json = {
schemas = {
["https://raw.githubusercontent.com/quantumblacklabs/kedro/develop/static/jsonschema/kedro-catalog-0.17.json"]= "conf/**/*catalog*",
["https://json.schemastore.org/github-workflow.json"] = "/.github/workflows/*",
["https://github.com/ansible/schemas/blob/main/f/ansible.json"] = "*.yaml,*.yml",
}
},
yaml = { keyOrdering = false },
},
})
vim.lsp.config('gopls', {
cmd = {"gopls", "serve"},
filetypes = { "go", "gomod", "gowork", "gotmpl" },
settings = {
gopls = {
analyses = { unusedparams = true },
staticcheck = true,
linksInHover = false,
codelenses = {
generate = true,
gc_details = true,
regenerate_cgo = true,
tidy = true,
upgrade_depdendency = true,
vendor = true,
},
completeUnimported = true,
usePlaceholders = true,
},
},
})
vim.lsp.config('ruff', {})
-- Enable servers (remove 'solargraph' if not using Ruby)
vim.lsp.enable({
'clangd', 'bashls', 'yamlls', 'ansiblels', 'gopls', 'solargraph',
'terraformls', 'tflint', 'marksman', 'rust_analyzer', 'ruff',
})
-- nvim-cmp setup with Tab support
local cmp = require('cmp')
cmp.setup({
mapping = cmp.mapping.preset.insert({
['<C-Space>'] = cmp.mapping.complete(),
-- Tab: indent on empty/whitespace-only lines, trigger completion elsewhere
['<Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_next_item()
elseif vim.fn["copilot#GetDisplayedSuggestion"]().text ~= "" then
vim.fn.feedkeys(vim.fn["copilot#Accept"](""), "n")
elseif vim.api.nvim_get_current_line():match("^%s*$") then
fallback()
else
cmp.complete()
end
end, { 'i', 's' }),
-- Shift-Tab: go to previous completion item or fallback
['<S-Tab>'] = cmp.mapping(function(fallback)
if cmp.visible() then
cmp.select_prev_item()
else
fallback()
end
end, { 'i', 's' }),
-- Enter to confirm selection
['<CR>'] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
{ name = 'buffer' },
{ name = 'path' },
}),
})
vim.keymap.set("t", "<C-w>h", "<C-\\><C-n><C-w>h", { desc = "Move to left window" })
vim.keymap.set("t", "<C-w>l", "<C-\\><C-n><C-w>l", { desc = "Move to right window" })
vim.keymap.set("t", "<C-w>p", "<C-\\><C-n><C-w>p", { desc = "Focus previous window" })
require("claudecode").setup()
EOF
" Added popout window to see diagnostic
set updatetime=250
autocmd! CursorHold,CursorHoldI * lua vim.diagnostic.open_float(nil, {focus=false, scope="cursor"})
" Copilot
let g:copilot_no_tab_map = v:true
" Neoformat
let g:neoformat_try_formatprg = 1
let g:neoformat_basic_format_trim = 1
let g:neoformat_only_msg_on_error = 1
" autocmd BufWritePre * silent! undojoin | Neoformat
let g:neoformat_python_ruff = {
\ 'exe': 'ruff',
\ 'stdin': 1,
\ 'args': ['format', '--line-length=80', '-q', '-'],
\ }
let g:neoformat_enabled_python = ['ruff']
" Terraform
let g:terraform_fmt_on_save=1
let g:terraform_align=1
function! s:check_back_space() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
" Enable show hidden in NerdTree
let g:NERDTreeShowHidden=1
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
" latex
let g:tex_flavor = "latex"
" Debug
let g:vimspector_enable_mappings = 'VISUAL_STUDIO'
let g:vimspector_install_gadgets = [ 'debugpy', 'vscode-go', 'CodeLLDB', 'vscode-node-debug2' ]
""""""""""""""""""""""""""""""""
" Theme
""""""""""""""""""""""""""""""""
" colorscheme gruvbox
" colorscheme default
colorscheme dracula
let g:gruvbox_invert_selection='0'
let g:gruvbox_contrast_dark = 'hard'
set background=dark
" hi Normal ctermbg=NONE
hi Pmenu ctermfg=NONE ctermbg=236 cterm=NONE guifg=NONE guibg=#64666d gui=NONE
hi PmenuSel ctermfg=NONE ctermbg=246 cterm=NONE guifg=NONE guibg=#204a87 gui=NONE
hi CursorLine cterm=NONE term=NONE ctermbg=NONE guibg=NONE
hi CursorLine ctermbg=235
hi DiffAdd cterm=BOLD ctermfg=NONE ctermbg=22
hi DiffDelete cterm=BOLD ctermfg=NONE ctermbg=52
hi DiffChange cterm=BOLD ctermfg=NONE ctermbg=23
hi DiffText cterm=BOLD ctermfg=NONE ctermbg=23
set t_ZH="\e[3m"
set t_ZR="\e[23m"
highlight Comment cterm=italic gui=italic
highlight htmlArg gui=italic cterm=italic
" column
set textwidth=80
set colorcolumn=80
highlight ColorColumn ctermbg=236
""""""""""""""""""""""""""""""""
" Status Line
""""""""""""""""""""""""""""""""
function! GitBranch()
return system("git rev-parse --abbrev-ref HEAD 2>/dev/null | tr -d '\n'")
endfunction
function! StatuslineGit()
let l:branchname = GitBranch()
return strlen(l:branchname) > 0?' '.l:branchname.' ':''
endfunction
set laststatus=3
lua <<EOF
vim.o.statusline = table.concat({
"%#IncSearch#",
"%{&filetype!=#''?' ['.&filetype..'] ':' '}",
"%{&modified?'[+] ':''}",
"%#CursorLineNr#",
" %F",
"%=",
"%#CursorLineNr#",
"%{StatuslineGit()}",
"%#Search#",
" %l/%L",
" [%c]",
})
EOF
" Disable godoc keys
let g:go_doc_keywordprg_enabled = 0
set completeopt-=preview
""""""""""""""""""""""""""""""""
" Keyboard shortcuts
""""""""""""""""""""""""""""""""
let mapleader = "\<Space>"
nmap <leader>2 :w!<cr>
" Adding print message
autocmd FileType python nmap <leader>f i print("--------DEBUG--------")<CR>print()<CR>print("--------END DEBUG--------")<UP><LEFT>
autocmd FileType sh nmap <leader>f i echo -e "--------DEBUG--------"<CR>echo -e ""<CR>echo -e "--------END DEBUG--------"<UP><LEFT>
" Adding commentary
xmap <leader>c <Plug>Commentary
nmap <leader>c <Plug>Commentary
omap <leader>c <Plug>Commentary
nmap <leader>c <Plug>CommentaryLine
xmap <C-_> <Plug>Commentary
nmap <C-_> <Plug>Commentary
omap <C-_> <Plug>Commentary
nmap <C-_> <Plug>CommentaryLine
" Better tab (visual mode only - insert mode Tab is handled by nvim-cmp above)
vnoremap <Tab> >
vnoremap <S-Tab> <
" Better word
nmap yw vey
" Select all text
nmap <C-a> gg<S-v>G
" Telescope
nmap <Leader>e <cmd>Telescope buffers<cr>
nmap <Leader>w <cmd>Telescope find_files<cr>
nmap <Leader>q <cmd>Telescope live_grep<cr>
nmap <Leader>g <cmd>Telescope git_branches<cr>
nmap <Leader>a <cmd>Telescope diagnostics<cr>
" Resize window
nnoremap Ó :vertical resize -5<CR>
nnoremap Ô :res -5<CR>
nnoremap ū :res +5<CR>
nnoremap Ł :vertical resize +5<CR>
" Split window
nnoremap _ :vsp <CR>
nnoremap - :split <CR>
" Reload file
nnoremap <F5> :edit <CR>
nnoremap <Leader><F5> :edit! <CR>
inoremap <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>"
" Moving line up or down using alt
nnoremap <A-Up> :m-2<CR>
nnoremap <A-Down> :m+<CR>
inoremap <A-Up> <Esc>:m-2<CR>
inoremap <A-Down> <Esc>:m+<CR>
vnoremap <A-Down> :m '>+1<CR>gv=gv
vnoremap <A-Up> :m '<-2<CR>gv=gv
nnoremap Ż :m-2<CR>
nnoremap ∆ :m+<CR>
vnoremap ∆ :m '>+1<CR>gv=gv
vnoremap Ż :m '<-2<CR>gv=gv
nnoremap <A-k> :m-2<CR>
nnoremap <A-j> :m+<CR>
inoremap <A-k> <Esc>:m-2<CR>
inoremap <A-j> <Esc>:m+<CR>
vnoremap <A-j> :m '>+1<CR>gv=gv
vnoremap <A-k> :m '<-2<CR>gv=gv
" Better replace
nnoremap <Leader>s :%s//g<Left><Left>
vnoremap <Leader>s :s//g<Left><Left>
" Better adding into beginning and ending line
vnoremap F <C-v>$A
vnoremap f <C-v>0I
" Better management of tabs
nnoremap <C-t> :tabnew<CR>
nnoremap <F7> :tabprevious<CR>
nnoremap <F8> :tabnext<CR>
inoremap <F7> <Esc>:tabprevious<CR>i
inoremap <F8> <Esc>:tabnext<CR>i
nnoremap <Leader>k :tabprevious<CR>
nnoremap <Leader>j :tabnext<CR>
inoremap <C-t> <Esc>:tabnew<CR>
" Better moving
nnoremap J }
nnoremap K {
vnoremap J }
vnoremap K {
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
tnoremap <C-h> <C-\><C-n><C-w>h
tnoremap <C-j> <C-\><C-n><C-w>j
tnoremap <C-k> <C-\><C-n><C-w>k
tnoremap <C-l> <C-\><C-n><C-w>l
" Copy into system
noremap <Leader>y "*y
noremap <Leader>p "*p
" Code
map <Leader><Tab> Vgaip= <CR>
" Multiple cursors
let g:multi_cursor_start_word_key = '<C-n>'
let g:multi_cursor_select_all_word_key = '<A-n>'
let g:multi_cursor_start_key = 'g<C-n>'
let g:multi_cursor_select_all_key = 'g<A-n>'
let g:multi_cursor_next_key = '<C-n>'
let g:multi_cursor_prev_key = '<C-p>'
let g:multi_cursor_skip_key = '<C-x>'
let g:multi_cursor_quit_key = '<Esc>'
" Others
nnoremap ee :!mupdf $(echo % \| sed 's/tex$/pdf/') & disown<CR><CR>
map <C-d> :NvimTreeToggle<CR>
nnoremap <leader>r :NvimTreeRefresh<CR>
nnoremap <leader>n :NvimTreeFindFile<CR>
nnoremap <F11> :Goyo <CR>
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
map <F3> :setlocal spell! spelllang=en<CR>
map <F4> :setlocal spell! spelllang=pl<CR>
" Human Errors
:command! W w
:command! Q q
:command! Wq wq
:command! X x
""""""""""""""""""""""""""""""""
" Custom functions
""""""""""""""""""""""""""""""""
lua <<EOF
function go_org_imports(wait_ms)
local params = vim.lsp.util.make_range_params()
params.context = {only = {"source.organizeImports"}}
local result = vim.lsp.buf_request_sync(0, "textDocument/codeAction", params, wait_ms)
for cid, res in pairs(result or {}) do
for _, r in pairs(res.result or {}) do
if r.edit then
local enc = (vim.lsp.get_client_by_id(cid) or {}).offset_encoding or "utf-16"
vim.lsp.util.apply_workspace_edit(r.edit, enc)
end
end
end
end
EOF
""""""""""""""""""""""""""""""""
" Files
""""""""""""""""""""""""""""""""
" Bash
if executable('shfmt')
let &l:formatprg='shfmt -i ' . &l:shiftwidth . ' -ln posix -sr -ci -s'
endif
let g:shfmt_extra_args = '-i 4 -ci -sr -s'
let g:shfmt_fmt_on_save = 1
let g:shfmt_opt="-ci"
" Python
autocmd BufRead,BufNewFile *.py set textwidth=0
autocmd BufRead,BufNewFile *.py set fo-=t
autocmd BufWritePre *.py silent! undojoin | Neoformat ruff
noremap <Leader>f :silent! undojoin \| Neoformat ruff <CR> :w<CR>
" Newsboat
autocmd BufRead,BufNewFile urls set textwidth=0
" Latex
autocmd BufWritePost *.tex silent! execute "!pdflatex --shell-escape -synctex=1 -interaction=nonstopmode % > /dev/null " | redraw!
" autocmd BufWritePost *.tex silent! execute "!pdflatex --shell-escape -synctex=1 -interaction=nonstopmode % > /dev/null " | redraw!
autocmd BufWritePost *.tex silent! execute "!pdflatex % > /dev/null " | redraw!
autocmd BufWritePost *.tex silent! execute "!latexmk -pdf -silent % > /dev/null" | redraw!
autocmd BufWritePost *.tex silent! execute "!rm -rf *.fls *.ilg *.nav *.snm *.toc *.idx *.lof *.lot *.synctex.gz *.aux *.fdb_latexmk *.fls *.log *.out > /dev/null" | redraw!
autocmd BufWritePost *.tex silent! execute "!pkill -HUP mupdf > /dev/null" | redraw!
autocmd BufWritePost *.tex silent! execute "!sudo rm -rf *.fls *.ilg *.nav *.snm *.toc *.idx *.lof *.lot *.synctex.gz *.aux *.fdb_latexmk *.fls *.log *.out > /dev/null" | redraw!
autocmd BufWritePost *.tex silent! execute "!sudo pkill -HUP mupdf > /dev/null" | redraw!
" Mutt
" mutt
autocmd BufRead,BufNewFile /tmp/neomutt* let g:goyo_width=80
autocmd BufRead,BufNewFile /tmp/neomutt* :Goyo
autocmd BufRead,BufNewFile /tmp/neomutt* map ZZ :Goyo\|x!<CR>
autocmd BufRead,BufNewFile /tmp/neomutt* map ZQ :Goyo\|q!<CR>
" Yaml
autocmd BufRead,BufNewFile *.yaml,*.yml let g:indentLine_enabled = 1
autocmd BufRead,BufNewFile *.yaml,*.yml let g:indentLine_char = '⦙'
autocmd BufWritePre *.yaml,*.yml silent! undojoin | Neoformat prettier
" JSON
autocmd BufWritePre *.json silent! undojoin | Neoformat prettier
" GoLang
autocmd BufRead *.go set noexpandtab
autocmd BufWritePre *.go lua go_org_imports()
let g:go_def_mapping_enabled = 0
let g:go#fmt#autosave = v:true
autocmd BufWritePre *.go silent! undojoin | Neoformat
autocmd BufWritePre *.gomod silent! undojoin | Neoformat
" Conf
au BufNewFile,BufRead *.conf setfiletype conf
" Mikrotik
au BufNewFile,BufRead *.mikrotik setfiletype routeros
" Ebuild
au BufNewFile,BufRead,BufWritePre *.ebuild let g:shfmt_extra_args = '-ci -sr -s'
" TOML
autocmd BufWritePre *.toml silent! undojoin | Neoformat taplo
" Terraform
autocmd BufWritePre *.tf lua vim.lsp.buf.format()
autocmd BufWritePre *.tfvars lua vim.lsp.buf.format()
" Markdown
autocmd BufRead,BufNewFile *.md setlocal spell spelllang=en_us
autocmd BufWritePre *.md silent! undojoin | Neoformat mdformat
" Automatically deletes all trailing whitespace and newlines at end of file on save.
autocmd BufWritePre * %s/\s\+$//e
autocmd BufWritepre * %s/\n\+\%$//e
" highlight the visual selection after pressing enter.
xnoremap <silent> <cr> "*y:silent! let searchTerm = '\V'.substitute(escape(@*, '\/'), "\n", '\\n', "g") <bar> let @/ = searchTerm <bar> echo '/'.@/ <bar> call histadd("search", searchTerm) <bar> set hls<cr>
""""""""""""""""""""""""""""""""
" FZF
""""""""""""""""""""""""""""""""
let $FZF_DEFAULT_COMMAND = 'find . -type f -not -path "*/\.git/*" -not -path "*/\.local/share/nvim/*" -not -path "./Library/*" '
command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --hidden --follow --color "always" '.shellescape(<q-args>), 1, <bang>0)
command! -bang -nargs=* FindCurrentWord call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --hidden --follow --color "always" '.shellescape(expand('<cword>')), 1, <bang>0)
set grepprg=rg\ --vimgrep
" Custom functions "
function! RemoveForti()
:%g/set uuid .*/d
:%g/set comment .*/d
:%s/ \+//g
:%s/edit \(\d\{1,}\)/edit 0/g
:g/^$/d
endfunction
function! RemoveFortiAddresses()
:e!
:%g/set uuid .*/d
:%g/set comment .*/d
:%s/ \+//g
:%s/edit \(\d\{1,}\)/edit 0/g
:%s/next\n/set allow-routing enable\rnext\r/g
:g/^$/d
:%!uniq
:w!
endfunction
function! BlurForti()
:%g/set uuid .*/d
:%g/set description .*/d
:%g/set comment .*/d
:%g/set comments .*/d
:%s/username .*/username "XXXXXXXXXXXXXXXXXXXXXXX"/g
:%s/dn .*/dn "XXXXXXXXXXXXXXXXXXXXXXX"/g
:%s/psksecret ENC .*/psksecret XXXXXXXXXXXXXXXXXXXXXXX/g
:%s/password ENC .*/password XXXXXXXXXXXXXXXXXXXXXXX/g
:%s/passwd ENC .*/passwd XXXXXXXXXXXXXXXXXXXXXXX/g
:%s/group-name .*/group-name "XXXXXXXXXXXXXXXXXXXXXXX"/g
:%s/ssh-rsa .*/ssh-rsa XXXXXXXXXXXXXXXXXXXXXXX/g
:%s/-----BEGIN OPENSSH PRIVATE KEY.*----/-----BEGIN OPENSSH PRIVATE KEY -----\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/g
:%s/-----BEGIN CERTIFICATE.*----/-----BEGIN CERTIFICATE -----\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/g
:%s/-----BEGIN ENCRYPTED PRIVATE KEY.*----/-----BEGIN ENCRYPTED PRIVATE KEY -----\rXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/g
:%s/"VPN_.*"/"VPN_XXXXX"/g
:%s/\v(\d{1,3}\.){3}\d{1,3}/X.X.X.X/g
endfunction
function! ColoursFortiSSL()
:%s/next\n/set color 23\rset allow-routing enable\rnext\r/g
endfunction
@@ -0,0 +1,49 @@
This is a mirror of http://www.vim.org/scripts/script.php?script_id=365
Write BASH-scripts by inserting comments, statements, tests, variables, builtins, etc..
Speed up writing new scripts considerably.
Write code und comments with a professional appearance from the beginning.
Here are some screen shots : http://lug.fh-swf.de/vim/vim-bash/screenshots-en.html
The help file online : http://lug.fh-swf.de/vim/vim-bash/bashsupport.html
The key mappings of this plugin (PDF) : http://lug.fh-swf.de/vim/vim-bash/bash-hotkeys.pdf
DOCUMENTATION
--------------------------------------------------------
This plugin comes with a help file (bashsupport.txt).
Read it with
:h bashsupport
** PLEASE READ THE DOCUMENTATION **
Editing actions differ for different modes!
There are a lot of features which can be configured or customized to match your needs.
The installation explained: http://www.thegeekstuff.com article
"Make Vim as Your Bash-IDE Using bash-support Plugin"
(http://www.thegeekstuff.com/2009/02/make-vim-as-your-bash-ide-using-bash-support-plugin)
Plugin featured in the linux.com article 'Turn Vim into a bash IDE' : http://www.linux.com/articles/114359
GitHub
--------------------------------------------------------
Bash Support is on GitHub:
https://github.com/WolfgangMehner/vim-plugins
(Please help us keep track of all the issues and name your report/request "Bash-Support: <title>")
MAILING LIST
--------------------------------------------------------
You can subscribe to the vim-plugins-list mailing list to post your questions or
suggestions for improvement or to report bugs. The list will also be used to
announce new releases ( c.vim / bash-support / perl-support / doxygen-support ).
Visit the following page for subscribing to the mailing list:
http://lug.fh-swf.de/cgi-bin/mailman/listinfo/vim-plugins-list
The vim-plugins-list list is very low on traffic.
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,193 @@
README for bash-support.vim (Version 4.2.1) / March 25 2014
* INSTALLATION
* RELEASE NOTES
* FILES
* ADDITIONAL TIPS
Bash Support implements a bash-IDE for Vim/gVim. It is written to considerably
speed up writing code in a consistent style. This is done by inserting
complete statements, comments, idioms, and code snippets. Syntax checking,
running a script, starting a debugger can be done with a keystroke. There are
many additional hints and options which can improve speed and comfort when
writing shell scripts.
================================================================================
INSTALLATION
================================================================================
(1) LINUX
----------
The subdirectories in the zip archive bash-support.zip mirror the directory
structure which is needed below the local installation directory $HOME/.vim/
(find the value of $HOME with ":echo $HOME" from inside Vim).
(1.0) Save the template files in '$HOME/.vim/bash-support/templates/Templates' if
you have changed any of them.
(1.1) Copy the zip archive bash-support.zip to $HOME/.vim and run
unzip bash-support.zip
(1.2) Loading of plugin files must be enabled. If not use
:filetype plugin on
This is the minimal content of the file '$HOME/.vimrc'. Create one if there
is none or use the files in $HOME/.vim/bash-support/rc as a starting point.
(1.3) Set at least some personal details in the file
'$HOME/.vim/bash-support/templates/Templates'
Here is the minimal personalization (my settings as an example):
SetMacro( 'AUTHOR', 'Dr. Fritz Mehner' )
SetMacro( 'AUTHORREF', 'fgm' )
SetMacro( 'EMAIL', 'mehner.fritz@fh-swf.de' )
SetMacro( 'ORGANIZATION','FH Südwestfalen, Iserlohn' )
SetMacro( 'COPYRIGHT', 'Copyright (c) |YEAR|, |AUTHOR|' )
(Read more about the template system in the plugin documentation)
(1.4) Make the plugin help accessable by typing the following command on the
Vim command line:
:helptags $HOME/.vim/doc/
(1.5) Consider additional settings in the file '$HOME/.vimrc'. The files
customization.vimrc and customization.gvimrc are replacements or extensions
for your .vimrc and .gvimrc. You may want to use parts of them. The files
are documented.
(2) WINDOWS
------------
The subdirectories in the zip archive bash-support.zip mirror the directory
structure which is needed below the local installation directory
$HOME/vimfiles/ (find the value of $HOME with ":echo $HOME" from inside Vim).
(2.0) Save the template files in '$HOME/vimfiles/bash-support/templates/Templates'
if you have changed any of them.
(2.1) Copy the zip archive bash-support.zip to $HOME/vimfiles and run
unzip bash-support.zip
(2.2) Loading of plugin files must be enabled. If not use
:filetype plugin on
This is the minimal content of the file '$HOME/_vimrc'. Create one if there
is none or use the files in $HOME/vimfiles/bash-support/rc as a starting point.
(2.3) Set at least some personal details in the file
'$HOME/vimfiles/bash-support/templates/Templates'
Here is the minimal personalization (my settings as an example):
SetMacro( 'AUTHOR', 'Dr. Fritz Mehner' )
SetMacro( 'AUTHORREF', 'fgm' )
SetMacro( 'EMAIL', 'mehner.fritz@fh-swf.de' )
SetMacro( 'ORGANIZATION','FH Südwestfalen, Iserlohn' )
SetMacro( 'COPYRIGHT', 'Copyright (c) |YEAR|, |AUTHOR|' )
(Read more about the template system in the plugin documentation)
(2.4) Make the plugin help accessable by typing the following command on the
Vim command line:
:helptags $HOME\vimfiles\doc\
(2.5) Consider additional settings in the file '$HOME/_vimrc'. The files
customization.vimrc and customization.gvimrc are replacements or extensions
for your _vimrc and _gvimrc. You may want to use parts of them. The files
are documented.
There are a lot of features and options which can be used and influenced:
* use of template files and tags
* using and managing personal code snippets
* bash dictionary for keyword completion
* removing the root menu
* using additional plugins
Look at the bashsupport help with
:help bashsupport
+-----------------------------------------------+
| +-------------------------------------------+ |
| | ** Please read the documentation ** | |
| | Actions differ for different modes! | |
| +-------------------------------------------+ |
+-----------------------------------------------+
=======================================================================================
RELEASE NOTES FOR VERSION 4.2.1
=======================================================================================
- Bugfix: Setup of local templates in case of global installation.
- Help: Bash and utility manuals wrapped on window width.
- Bugfix: \hm and \hh work wrong in insert mode.
- Bugfix: Better compatibility with custom mappings
(use "normal!" and "noremap" consistently).
- Added 'Bash_SetMapLeader' and 'Bash_ResetMapLeader'.
- Minor corrections and improvements.
OLDER RELEASE NOTES : see file 'ChangeLog'
=======================================================================================
=======================================================================================
FILES
=======================================================================================
README.bashsupport This file.
ftplugin/sh.vim The bash filetype plugin.
plugin/bash-support.vim The bash plugin for Vim/gVim.
bash-support/scripts/wrapper.sh A wrapper script for the use of an xterm.
doc/bashsupport.txt The help file for the local online help.
bash-support/codesnippets/* Some code snippets as a starting point.
bash-support/templates/* bash template files (see bashsupport.txt).
bash-support/wordlists/* Additional word lists (dictionaries).
----------------------- -------------------------------------------------------------
----------------------- The following files and extensions are for convenience only.
bash-support.vim will work without them.
-------------------------------------------------------------
bash-support/rc/customization.bashrc Additional settings I use in .bashrc:
set the prompt P2, P3, P4 (for debugging).
bash-support/rc/customization.vimrc Additional settings I use in .vimrc: incremental
search, tabstop, hot keys, font, use of dictionaries,
... The file is commented. Append it to your .vimrc
if you like.
bash-support/rc/customization.gvimrc Additional settings I use in .gvimrc: hot keys,
mouse settings, ... The file is commented.
Append it to your .gvimrc if you like.
bash-support/doc/* Hotkey reference card (PDF), changelog.
=======================================================================================
ADDITIONAL TIPS
=======================================================================================
(1) gvim. Toggle 'insert mode' <--> 'normal mode' with the right mouse button
(see mapping in file customization.gvimrc).
(2) gvim. Use tear off menus and
(3) try 'Focus under mouse' as window behavior (No mouse click when the mouse
pointer is back from the menu entry).
(4) Use Emulate3Buttons "on" (X11) even for a 3-button mouse. Pressing left and
right button simultaneously without moving your fingers is faster then
moving a finger to the middle button (often a wheel).
=======================================================================================
@@ -0,0 +1,21 @@
#=== FUNCTION ================================================================
# NAME: _trap_DEBUG
# DESCRIPTION: Trap code for the pseudo-signal DEBUG. Generate a message.
# The DEBUG trap is not inherited by functions.
# Use 'set -o functrace'
# PARAMETERS: 1) identification (e.g. line number $LINENO)
# 2) variable name(s) to be tracked
#===============================================================================
function _trap_DEBUG ()
{
declare identification=$1;
while [ ${#} -gt 1 ]; do
shift
echo -e "DEBUG [$identification] ${1} = '${!1}'"
done
} # ---------- end of function _trap_DEBUG ----------
trap '_trap_DEBUG $LINENO <-variable names->' DEBUG # trap DEBUG
#trap - DEBUG # reset the DEBUG trap
@@ -0,0 +1,15 @@
#=== FUNCTION ================================================================
# NAME: _trap_ERROR
# DESCRIPTION: Trap code for the pseudo-signal ERR (A command returning a
# non-zero exit status). Generates an error message.
# PARAMETERS: The current line number given by $LINENO .
#===============================================================================
function _trap_ERROR ()
{
echo -e "\nERROR line ${1}: Command exited with status ${?}"
} # ---------- end of function _trap_ERROR ----------
trap '_trap_ERROR $LINENO' ERR # trap ERR
#trap - ERR # reset the ERR trap
@@ -0,0 +1,14 @@
#=== FUNCTION ================================================================
# NAME: _trap_EXIT
# DESCRIPTION: Trap code for the pseudo-signal EXIT. Generates an message.
# PARAMETERS: The current line number given by $LINENO .
#===============================================================================
function _trap_EXIT ()
{
echo -e "\nEXIT line ${1}: Script exited with status ${?}"
} # ---------- end of function ----------
trap '_trap_EXIT $LINENO' EXIT # trap EXIT
#trap - EXIT # reset the EXIT trap
@@ -0,0 +1,17 @@
#=== FUNCTION ================================================================
# NAME: _trap_RETURN
# DESCRIPTION: Trap code for the pseudo-signal RETURN. Generates a message.
# The RETURN trap is not inherited by functions.
# Use 'set -o functrace'
# PARAMETERS: The current line number given by $LINENO .
# variable(s) to be tracked
#===============================================================================
function _trap_RETURN ()
{
echo -e "\nRETURN line ${1}: "
} # ---------- end of functionn _trap_RETURN ----------
trap '_trap_RETURN $LINENO' RETURN # trap RETURN
#trap - RETURN # reset the RETURN trap
@@ -0,0 +1,5 @@
basename=${pathname##*/}
dirname=${pathname%/*}
filename=${basename%%.*}
lastextension=${basename##*.}
allextensions=${basename#*.}
@@ -0,0 +1,3 @@
if [[ $number =~ ^[+-]?[0-9]+$ ]] ; then
echo -e "match found : (signed) integer\n"
fi
@@ -0,0 +1,3 @@
if [[ $number =~ ^[0-9]+$ ]] ; then
echo -e "match found : integer\n"
fi
@@ -0,0 +1,5 @@
#-----------------------------------------------------------------------
# Check number of command line arguments
#-----------------------------------------------------------------------
[ $# -lt 1 ] && { echo -e "\n\tUsage: ${0##/*/} File\n"; exit 1; }
@@ -0,0 +1,3 @@
TMPFILE=$( mktemp /tmp/example.XXXXXXXXXX ) || exit 1
rm --force $TMPFILE
@@ -0,0 +1,17 @@
TMPDIR=${TMPDIR:-/tmp} # defaults to /tmp if unset
#-------------------------------------------------------------------------------
# Creates a particular temporary directory inside $TMPDIR.
#-------------------------------------------------------------------------------
TEMPORARY_DIR=$(mktemp -d "$TMPDIR/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX") || \
{ echo "ERROR creating a temporary file"; exit 1; }
#-------------------------------------------------------------------------------
# When the program exits, it tries to remove the temporary folder.
# This code is executed even if the process receives a signal 1,2,3 or 15.
#-------------------------------------------------------------------------------
trap '[ "$TEMPORARY_DIR" ] && rm --recursive --force "$TEMPORARY_DIR"' 0
touch $TEMPORARY_DIR/tempfile # new tempfile inside folder
@@ -0,0 +1,19 @@
#-----------------------------------------------------------------------
# cleanup temporary file in case of a keyboard interrupt (SIGINT)
# or a termination signal (SIGTERM)
#-----------------------------------------------------------------------
function cleanup_temp
{
[ -e $tmpfile ] && rm --force $tmpfile
exit 0
}
trap cleanup_temp SIGHUP SIGINT SIGPIPE SIGTERM
tmpfile=$(mktemp) || { echo "$0: creation of temporary file failed!"; exit 1; }
# use tmpfile ...
rm --force $tmpfile
@@ -0,0 +1,22 @@
# PS4 : timestamp; the current time in 24-hour HH:MM:SS format
PS4='+[\t] '
# PS4 : timestamp; 'seconds.nanoseconds' since 1970-01-01 00:00:00 UT
PS4='+[$(date "+%s.%N")] '
# PS4 : position, line number, function name
# The following line avoids error messages due to an unset FUNCNAME[0] :
# set +o nounset # Treat unset variables as an error
#
PS4='+|${BASH_SOURCE##*/} ${LINENO}${FUNCNAME[0]:+ ${FUNCNAME[0]}}| '
# PS4 : position, line number, function name, subshell information
# The following line avoids error messages due to an unset FUNCNAME[0] :
# set +o nounset # Treat unset variables as an error
#
PS4='+(${BASH_SOURCE##*/}: ${LINENO}) : ${FUNCNAME[0]} - [level ${SHLVL}, '
PS4=$PS4'subshell ${BASH_SUBSHELL}, return code $?]\n '
# PS4 : default prompt
PS4='+ '
@@ -0,0 +1,16 @@
#=== FUNCTION ================================================================
# NAME: _assert
# DESCRIPTION: Abort the script if assertion is false.
# PARAMETERS: 1) expression used as test inside brackets
# 2) optional information, e.g. $LINENO
# RETURNS: 0 / 99 assertion is true / false
#===============================================================================
function _assert ()
{
if [ ! $1 ]; then
echo "${0##*/}${2:+:$2}: assertion '$1' failed."
exit 99
fi
return 0
}
@@ -0,0 +1,15 @@
DEBUG=${DEBUG:-0} # 0 = no debug output, 1 = show debug output,
# or enable debug with: DEBUG=1 script.sh
#=== FUNCTION ================================================================
# NAME: _debug
# DESCRIPTION: echo debug output controlled by a global variable
# PARAMETERS: list, e.g.; "$LINENO: x=$x"
# RETURNS: always 0
#===============================================================================
_debug ()
{
[ ${DEBUG} -ne 0 ] && echo -e "${@}"
return 0
} # ---------- end of function _debug ----------
@@ -0,0 +1,3 @@
# print the positional parameters
printf "'%b'\n" "$0" "$@" | nl -v0 -s': '
@@ -0,0 +1,16 @@
DEBUG=${DEBUG:-0} # 0 = no debug output, 1 = show debug output,
# or enable debug with: DEBUG=1 script.sh
#=== FUNCTION ================================================================
# NAME: _debug_timestamp
# DESCRIPTION: timestamp + optional information
# timestamp: {seconds since 1970-01-01 00:00:00}.{nanoseconds}
# PARAMETERS: identification, e.g. $LINENO (optional)
# RETURNS: always 0
#===============================================================================
_debug_timestamp ()
{
[ ${DEBUG} -ne 0 ] && echo -e "[ $(date "+%s.%N") ]${@:+ -- ${@}}"
return 0
} # ---------- end of function _debug_timestamp ----------
@@ -0,0 +1,8 @@
#
#==========================================================================
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#==========================================================================
#
@@ -0,0 +1,3 @@
timestamp=$(date +"%Y%m%d-%H%M%S") # generate timestamp : YYYYMMDD-hhmmss
@@ -0,0 +1,39 @@
ScriptVersion="1.0"
#=== FUNCTION ================================================================
# NAME: usage
# DESCRIPTION: Display usage information.
#===============================================================================
function usage ()
{
cat <<- EOT
Usage : ${0##/*/} [options] [--]
Options:
-h|help Display this message
-v|version Display script version
EOT
} # ---------- end of function usage ----------
#-----------------------------------------------------------------------
# Handle command line arguments
#-----------------------------------------------------------------------
while getopts ":hv" opt
do
case $opt in
h|help ) usage; exit 0 ;;
v|version ) echo "$0 -- Version $ScriptVersion"; exit 0 ;;
\? ) echo -e "\n Option does not exist : $OPTARG\n"
usage; exit 1 ;;
esac # --- end of case ---
done
shift $(($OPTIND-1))
@@ -0,0 +1,15 @@
infilename="" # input filename
exec 3<"$infilename"
if [ $? -ne 0 ] ; then
echo -e "Could not link file descriptor with file '$infilename'\n"
exit 1
fi
while read line <&3 ; do
echo -e "$line"
done
exec 3<&- # close file descriptor
@@ -0,0 +1,13 @@
outfilename="" # output filename
exec 4>"$outfilename"
if [ $? -ne 0 ] ; then
echo -e "Could not link file descriptor with file '$outfilename'\n"
exit 1
fi
echo -e "text" >&4
exec 4>&- # close file descriptor
@@ -0,0 +1,29 @@
set -o nounset # treat unset variables as errors
#===============================================================================
# GLOBAL DECLARATIONS
#===============================================================================
declare -rx SCRIPT=${0##*/} # the name of this script
declare -rx mkdir='/bin/mkdir' # the mkdir(1) command
#===============================================================================
# SANITY CHECKS
#===============================================================================
if [ -z "$BASH" ] ; then
printf "$SCRIPT:$LINENO: run this script with the BASH shell\n" >&2
exit 192
fi
if [ ! -x "$mkdir" ] ; then
printf "$SCRIPT:$LINENO: command '$mkdir' not available - aborting\n" >&2
exit 192
fi
#===============================================================================
# MAIN SCRIPT
#===============================================================================
#===============================================================================
# STATISTICS / CLEANUP
#===============================================================================
exit 0
@@ -0,0 +1,9 @@
#-----------------------------------------------------------------------
# set Bash prompts
# PS4 shows the function name when execution is inside a function and
# the xtrace option is set.
#-----------------------------------------------------------------------
export PS2='continue> '
export PS3='choose: '
export PS4='|${BASH_SOURCE} ${LINENO}${FUNCNAME[0]:+ ${FUNCNAME[0]}()}| '
@@ -0,0 +1,63 @@
"===============================================================================
"
" File: customization.gvimrc
"
" Description: suggestion for a personal configuration file ~/.gvimrc
"
" VIM Version: 7.0+
" Author: Dr. Fritz Mehner (fgm), mehner.fritz@fh-swf.de
" Organization: FH Südwestfalen, Iserlohn
" Version: 1.0
" Created: 18.05.2013 21:58
" Revision: ---
" License: Copyright (c) 2013, Dr. Fritz Mehner
"===============================================================================
"
"===============================================================================
" GENERAL SETTINGS
"===============================================================================
set cmdheight=2 " Make command line two lines high
set mousehide " Hide the mouse when typing text
highlight Normal guibg=grey90
highlight Cursor guibg=Blue guifg=NONE
highlight lCursor guibg=Cyan guifg=NONE
highlight NonText guibg=grey80
highlight Constant gui=NONE guibg=grey95
highlight Special gui=NONE guibg=grey95
"
let c_comment_strings=1 " highlight strings inside C comments
"
"-------------------------------------------------------------------------------
" Moving cursor to other windows
"
" shift down : change window focus to lower one (cyclic)
" shift up : change window focus to upper one (cyclic)
" shift left : change window focus to one on left
" shift right : change window focus to one on right
"-------------------------------------------------------------------------------
nnoremap <s-down> <c-w>w
nnoremap <s-up> <c-w>W
nnoremap <s-left> <c-w>h
nnoremap <s-right> <c-w>l
"
"-------------------------------------------------------------------------------
" some additional hot keys
"-------------------------------------------------------------------------------
" S-F3 - call gvim file browser
"-------------------------------------------------------------------------------
noremap <silent> <s-F3> :silent browse confirm e<CR>
inoremap <silent> <s-F3> <Esc>:silent browse confirm e<CR>
"
"-------------------------------------------------------------------------------
" toggle insert mode <--> 'normal mode with the <RightMouse>-key
"-------------------------------------------------------------------------------
"
nnoremap <RightMouse> <Insert>
inoremap <RightMouse> <ESC>
"
"-------------------------------------------------------------------------------
" use font with clearly distinguishable brackets : ()[]{}
"-------------------------------------------------------------------------------
"set guifont=Luxi\ Mono\ 14
"
@@ -0,0 +1,210 @@
"===============================================================================
"
" File: customization.vimrc
"
" Description: suggestion for a personal configuration file ~/.vimrc
"
" VIM Version: 7.0+
" Author: Dr. Fritz Mehner (fgm), mehner.fritz@fh-swf.de
" Organization: FH Südwestfalen, Iserlohn
" Version: 1.0
" Created: 18.05.2013 21:59
" Revision: ---
" License: Copyright (c) 2013, Dr. Fritz Mehner
"===============================================================================
"
"===============================================================================
" GENERAL SETTINGS
"===============================================================================
"-------------------------------------------------------------------------------
" Use Vim settings, rather then Vi settings.
" This must be first, because it changes other options as a side effect.
"-------------------------------------------------------------------------------
set nocompatible
"
"-------------------------------------------------------------------------------
" Enable file type detection. Use the default filetype settings.
" Also load indent files, to automatically do language-dependent indenting.
"-------------------------------------------------------------------------------
filetype plugin on
filetype indent on
"
"-------------------------------------------------------------------------------
" Switch syntax highlighting on.
"-------------------------------------------------------------------------------
syntax on
"
" Platform specific items:
" - central backup directory (has to be created)
" - default dictionary
" Uncomment your choice.
if has("win16") || has("win32") || has("win64") ||
\ has("win95") || has("win32unix")
"
" runtime mswin.vim
" set backupdir =$VIM\vimfiles\backupdir
" set dictionary=$VIM\vimfiles\wordlists/german.list
else
" set backupdir =$HOME/.vim.backupdir
" set dictionary=$HOME/.vim/wordlists/german.list
endif
"
" Using a backupdir under UNIX/Linux: you may want to include a line similar to
" find $HOME/.vim.backupdir -name "*" -type f -mtime +60 -exec rm -f {} \;
" in one of your shell startup files (e.g. $HOME/.profile)
"
"-------------------------------------------------------------------------------
" Various settings
"-------------------------------------------------------------------------------
set autoindent " copy indent from current line
set autoread " read open files again when changed outside Vim
set autowrite " write a modified buffer on each :next , ...
set backspace=indent,eol,start " backspacing over everything in insert mode
set backup " keep a backup file
set browsedir=current " which directory to use for the file browser
set complete+=k " scan the files given with the 'dictionary' option
set history=50 " keep 50 lines of command line history
set hlsearch " highlight the last used search pattern
set incsearch " do incremental searching
set listchars=tab:>.,eol:\$ " strings to use in 'list' mode
set mouse=a " enable the use of the mouse
set nowrap " do not wrap lines
set popt=left:8pc,right:3pc " print options
set ruler " show the cursor position all the time
set shiftwidth=2 " number of spaces to use for each step of indent
set showcmd " display incomplete commands
set smartindent " smart autoindenting when starting a new line
set tabstop=2 " number of spaces that a <Tab> counts for
set visualbell " visual bell instead of beeping
set wildignore=*.bak,*.o,*.e,*~ " wildmenu: ignore these extensions
set wildmenu " command-line completion in an enhanced mode
"
"===================================================================================
" BUFFERS, WINDOWS
"===================================================================================
"
"-------------------------------------------------------------------------------
" The current directory is the directory of the file in the current window.
"-------------------------------------------------------------------------------
if has("autocmd")
autocmd BufNewFile,BufRead * :lchdir %:p:h
endif
"
"-------------------------------------------------------------------------------
" close window (conflicts with the KDE setting for calling the process manager)
"-------------------------------------------------------------------------------
noremap <C-Esc> :close<CR>
inoremap <C-Esc> <C-C>:close<CR>
"
"-------------------------------------------------------------------------------
" Fast switching between buffers
" The current buffer will be saved before switching to the next one.
" Choose :bprevious or :bnext
"-------------------------------------------------------------------------------
noremap <silent> <s-tab> :if &modifiable && !&readonly &&
\ &modified <CR> :write<CR> :endif<CR>:bprevious<CR>
inoremap <silent> <s-tab> <C-C>:if &modifiable && !&readonly &&
\ &modified <CR> :write<CR> :endif<CR>:bprevious<CR>
"
"-------------------------------------------------------------------------------
" Leave the editor with Ctrl-q (KDE): Write all changed buffers and exit Vim
"-------------------------------------------------------------------------------
nnoremap <C-q> :wqall<CR>
"
"-------------------------------------------------------------------------------
" When editing a file, always jump to the last known cursor position.
" Don't do it when the position is invalid or when inside an event handler
" (happens when dropping a file on gvim).
"-------------------------------------------------------------------------------
if has("autocmd")
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
endif " has("autocmd")
"
"-------------------------------------------------------------------------------
" some additional hot keys
"-------------------------------------------------------------------------------
" F2 - write file without confirmation
" F3 - call file explorer Ex
" F4 - show tag under curser in the preview window (tagfile must exist!)
" F5 - open quickfix error window
" F6 - close quickfix error window
" F7 - display previous error
" F8 - display next error
"-------------------------------------------------------------------------------
"
noremap <silent> <F2> :write<CR>
noremap <silent> <F3> :Explore<CR>
nnoremap <silent> <F4> :exe ":ptag ".expand("<cword>")<CR>
noremap <silent> <F5> :copen<CR>
noremap <silent> <F6> :cclose<CR>
noremap <silent> <F7> :cp<CR>
noremap <silent> <F8> :cn<CR>
"
inoremap <silent> <F2> <Esc>:write<CR>
inoremap <silent> <F3> <Esc>:Explore<CR>
inoremap <silent> <F4> <Esc>:exe ":ptag ".expand("<cword>")<CR>
inoremap <silent> <F5> <Esc>:copen<CR>
inoremap <silent> <F6> <Esc>:cclose<CR>
inoremap <silent> <F7> <Esc>:cp<CR>
inoremap <silent> <F8> <Esc>:cn<CR>
"-------------------------------------------------------------------------------
" autocomplete parenthesis, brackets and braces
"-------------------------------------------------------------------------------
inoremap ( ()<Left>
inoremap [ []<Left>
inoremap { {}<Left>
"
vnoremap ( s()<Esc>P
vnoremap [ s[]<Esc>P
vnoremap { s{}<Esc>P
"
"-------------------------------------------------------------------------------
" autocomplete quotes
"-------------------------------------------------------------------------------
vnoremap ' s''<Esc>P<Right>
vnoremap " s""<Esc>P<Right>
vnoremap ` s``<Esc>P<Right>
"
inoremap ' '<Esc>:call QuoteInsertionWrapper("'")<CR>a
inoremap " "<Esc>:call QuoteInsertionWrapper('"')<CR>a
inoremap ` `<Esc>:call QuoteInsertionWrapper('`')<CR>a
"
"-------------------------------------------------------------------------------
" function QuoteInsertionWrapper {{{3
"
" Add a second quote only if the left and the right character are not keyword
" characters and the right character is not the same quote.
"-------------------------------------------------------------------------------
function! QuoteInsertionWrapper (quote)
let col = col('.')
let line = getline('.')
if ( line[col-2] =~ '\k' )
\ || ( line[col ] =~ '\k' )
\ || ( line[col-2] =~ a:quote )
\ || ( line[col ] =~ a:quote )
return a:quote
else
return a:quote.a:quote."\<Left>"
endif
endfunction
"
"===============================================================================
" VARIOUS PLUGIN CONFIGURATIONS
"===============================================================================
"
"-------------------------------------------------------------------------------
" plugin bash-support.vim
"-------------------------------------------------------------------------------
" --empty --
"
"-------------------------------------------------------------------------------
" taglist.vim : toggle the taglist window
"-------------------------------------------------------------------------------
noremap <silent> <F11> <Esc><Esc>:Tlist<CR>
inoremap <silent> <F11> <Esc><Esc>:Tlist<CR>
@@ -0,0 +1,16 @@
§ =============================================================
§ User Macros
§ =============================================================
SetMacro( 'AUTHOR', 'YOUR NAME' )
SetMacro( 'AUTHORREF', '' )
SetMacro( 'COMPANY', '' )
SetMacro( 'COPYRIGHT', 'Copyright (c) |YEAR|, |AUTHOR|' )
SetMacro( 'EMAIL', '' )
SetMacro( 'LICENSE', 'GNU General Public License' )
SetMacro( 'ORGANIZATION','' )
§ =============================================================
§ File Includes and Shortcuts
§ =============================================================
@@ -0,0 +1,35 @@
"===============================================================================
"
" File: sh.vim
"
" Description: Additonal maps for bash-support (version 4.0+)
"
" VIM Version: 7.0+
" Author: Dr. Fritz Mehner (fgm), mehner.fritz@fh-swf.de
" Organization: FH Südwestfalen, Iserlohn
" Version: 1.0
" Created: 20.05.2013 17:20
" Revision: ---
" License: Copyright (c) 2013, Dr. Fritz Mehner
"===============================================================================
"
"-------------------------------------------------------------------------------
" additional mapping : single quotes around a Word (non-whitespaces)
" masks the normal mode command '' (jump to the position
" before the latest jump)
" additional mapping : double quotes around a Word (non-whitespaces)
"-------------------------------------------------------------------------------
nnoremap <buffer> '' ciW''<Esc>P
nnoremap <buffer> "" ciW""<Esc>P
"
"-------------------------------------------------------------------------------
" generate tests
" additional mapping : \t1 expands to [ -<CURSOR> ]
" additional mapping : \t2 expands to [ <CURSOR> - ]
"-------------------------------------------------------------------------------
nnoremap <buffer> <silent> <LocalLeader>t1 a[ - ]<Left><Left><Left>
inoremap <buffer> <silent> <LocalLeader>t1 [ - ]<Left><Left><Left>
"
nnoremap <buffer> <silent> <LocalLeader>t2 a[ - ]<Left><Left><Left><Left><Left>
inoremap <buffer> <silent> <LocalLeader>t2 [ - ]<Left><Left><Left><Left><Left>
"
@@ -0,0 +1,34 @@
#!/bin/bash
#===============================================================================
# FILE: wrapper.sh
# USAGE: ./wrapper.sh scriptname [cmd-line-args]
# DESCRIPTION: Wraps the execution of a programm or script.
# Use with xterm: xterm -e wrapper.sh scriptname cmd-line-args
# This script is used by the Vim plugin bash-support.vim
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Dr.-Ing. Fritz Mehner (fgm), mehner.fritz@fh-swf.de
# COMPANY: Fachhochschule Südwestfalen, Iserlohn
# CREATED: 23.11.2004 18:04:01 CET
# REVISION: ---
#===============================================================================
scriptname="${1}" # name of the script to execute
returncode=0 # default return code
if [ ${#} -ge 1 ] ; then
if [ -x "$scriptname" ] ; then # start an executable script?
"${@}"
else
$SHELL "${@}" # start a script which is not executable
fi
returncode=$?
[ $returncode -ne 0 ] && printf "'${@}' returned ${returncode}\n"
else
printf "\n!! ${0} : no argument(s) !!\n"
fi
read -p "... press return key ... " dummy
exit $returncode
@@ -0,0 +1,42 @@
§ =============================================================
§ User Macros
§ =============================================================
SetMacro( 'AUTHOR', 'Marcin Woźniak' )
SetMacro( 'AUTHORREF', '' )
SetMacro( 'COMPANY', 'Cognifide Polska' )
SetMacro( 'COPYRIGHT', '' )
SetMacro( 'EMAIL', 'marcin.wozniak@cognifide.com' )
SetMacro( 'LICENSE', '' )
SetMacro( 'ORGANIZATION','' )
SetFormat( 'DATE', '%x' )
SetFormat( 'TIME', '%H:%M' )
SetFormat( 'YEAR', '%Y' )
SetStyle( 'default' )
§ =============================================================
§ File Includes and Shortcuts
§ =============================================================
§ :TODO:14.07.13 12:50:WM: files "paramsub.templates" and "io-redirection.templates": maps, shortcuts? sort alphabetically?
MenuShortcut( 'Comments', 'c' )
MenuShortcut( 'Statements', 's' )
MenuShortcut( 'Tests', 't' )
MenuShortcut( 'ParamSub', 'p' )
MenuShortcut( 'PatternMatching', 'p' )
MenuShortcut( 'IO-Redir', 'i' )
IncludeFile( 'comments.templates' )
IncludeFile( 'statements.templates' )
IncludeFile( 'tests.templates' )
IncludeFile( 'paramsub.templates' )
IncludeFile( 'specialparams.templates' )
IncludeFile( 'environment.templates' )
IncludeFile( 'builtins.templates' )
IncludeFile( 'set.templates' )
IncludeFile( 'shelloptions.templates' )
IncludeFile( 'io-redirection.templates' )
IncludeFile( 'patternmatching.templates' )
@@ -0,0 +1,70 @@
§ =============================================================
§ Builtins
§ =============================================================
== LIST: builtins == list ==
'alias',
'bg',
'bind',
'break',
'builtin',
'caller',
'cd',
'command',
'compgen',
'complete',
'continue',
'compopt',
'declare',
'dirs',
'disown',
'echo',
'enable',
'eval',
'exec',
'exit',
'export',
'false',
'fc',
'fg',
'getopts',
'hash',
'help',
'history',
'jobs',
'kill',
'let',
'local',
'logout',
'mapfile',
'popd',
'printf',
'pushd',
'pwd',
'read',
'readarray',
'readonly',
'return',
'set',
'shift',
'shopt',
'source',
'suspend',
'test',
'times',
'trap',
'true',
'type',
'typeset',
'ulimit',
'umask',
'unalias',
'unset',
'wait',
== ENDLIST ==
== Builtins == expandmenu, insert, map:bbu, sc:b ==
|PickList( 'Builtins', 'builtins' )|
|PICK|<CURSOR>
== ENDTEMPLATE ==
@@ -0,0 +1,142 @@
§ =============================================================
§ Comments
§ =============================================================
== Comments.end-of-line comment == nomenu, append ==
# <CURSOR>
== Comments.frame == map:cfr, sc:r ==
#-------------------------------------------------------------------------------
# <CURSOR>
#-------------------------------------------------------------------------------
== Comments.function == map:cfu, sc:f ==
#--- FUNCTION ----------------------------------------------------------------
# NAME: |?FUNCTION_NAME|
# DESCRIPTION: <CURSOR>
# PARAMETERS:
# RETURNS:
#-------------------------------------------------------------------------------
== Comments.file header == start, map:ch ==
#!/bin/bash -
#===============================================================================
#
# FILE: |FILENAME|
#
# USAGE: ./|FILENAME|
#
# DESCRIPTION:
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: |AUTHOR| , |EMAIL|
# COMPANY: |COMPANY|
# CREATED: |DATE| |TIME|
# REVISION: ---
#===============================================================================
set -o nounset # Treat unset variables as an error
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}" )" && pwd)/"
#source $DIR/settings.sh
#####################
# SETTINGS FILE
EMAILSERVER=""
EMAILFROM=""
EMAILADMIN=""
ERRORTITLE=Error-$TITLE
#
#####################
LOG="$DIR/log"
LOG_FILE="$LOG/log-$(date -I).log"
function timestamp(){
echo "[+] "$(date +'%F %T')" [INFO] $@"
}
function err() {
echo "[-] "$(date +'%F %T')" [ERROR] $@" >&2
}
function command_start(){
timestamp "Command $1 has been started."
if ! $1 ; then
err "Command $1 went wrong."
sendmailerr
exit
fi
}
function removelogs(){
find $LOG -mindepth 1 -mtime +365 -delete
}
function sendmailerr (){
echo -e "SERVER-IP: :$(ifconfig | awk '/inet /{print $2}' | sed '/127.0.0.1/d'| tr '\n' ' ')\nSCRIPTNAME: $(basename "$0")" | mailx -v -S smtp=$EMAILSERVER -r $EMAILFROM -s "$ERRORTITLE" -a $LOG_FILE $EMAILADMIN
}
function main(){
timestamp "Script has been started"
timestamp "Everything looks OK ;-)"
}
main >>$LOG_FILE 2>&1
<CURSOR>
== ENDTEMPLATE ==
§ -------------------------------------------------------------
== Comments.date == insert, map:cd, sc:d ==
|DATE|<CURSOR>
== Comments.date+time == insert, map:ct, sc:t ==
|DATE| |TIME|<CURSOR>
== ENDTEMPLATE ==
§ -------------------------------------------------------------
§ Keywords, Special and Macros
§ -------------------------------------------------------------
== LIST: comments_sections == hash ==
'GLOBAL DECLARATIONS' : 'GLOBAL DECLARATIONS',
'COMMAND LINE PROCESSING' : 'COMMAND LINE PROCESSING',
'SANITY CHECKS' : 'SANITY CHECKS',
'FUNCTION DEFINITIONS' : 'FUNCTION DEFINITIONS',
'TRAPS' : 'TRAPS',
'MAIN SCRIPT' : 'MAIN SCRIPT',
'STATISTICS AND CLEAN-UP' : 'STATISTICS AND CLEAN-UP',
== LIST: comments_keywords == hash ==
'bug' : ':BUG:|DATE| |TIME|:|AUTHORREF|: <CURSOR>',
'todo' : ':TODO:|DATE| |TIME|:|AUTHORREF|: <CURSOR>',
'tricky' : ':TRICKY:|DATE| |TIME|:|AUTHORREF|: <CURSOR>',
'warning' : ':WARNING:|DATE| |TIME|:|AUTHORREF|: <CURSOR>',
'workaround' : ':WORKAROUND:|DATE| |TIME|:|AUTHORREF|: <CURSOR>',
'new keyword' : ':<CURSOR>:|DATE| |TIME|:|AUTHORREF|: {+COMMENT+}',
== LIST: comments_macros == hash ==
'AUTHOR' : '|AUTHOR|',
'AUTHORREF' : '|AUTHORREF|',
'COMPANY' : '|COMPANY|',
'COPYRIGHT' : '|COPYRIGHT|',
'EMAIL' : '|EMAIL|',
'ORGANIZATION' : '|ORGANIZATION|',
== ENDLIST ==
§ -------------------------------------------------------------
== Comments.script sections == expandmenu, map:css, sc:s ==
|PickList( 'script sections', 'comments_sections' )|
#===============================================================================
# |PICK|
#===============================================================================
== Comments.keyword comments == expandmenu, append, map:ckc, sc:k ==
|PickList( 'keyword comment', 'comments_keywords' )|
# |PICK|
== Comments.macros == expandmenu, insert, map:cma, sc:m ==
|PickList( 'macro', 'comments_macros' )|
|PICK|
== ENDTEMPLATE ==
== SEP: Comments.sep1 ==
@@ -0,0 +1,100 @@
§ =============================================================
§ Environment
§ =============================================================
== LIST: environment == list ==
'BASH',
'BASHOPTS',
'BASHPID',
'BASH_ALIASES',
'BASH_ARGC',
'BASH_ARGV',
'BASH_CMDS',
'BASH_COMMAND',
'BASH_ENV',
'BASH_EXECUTION_STRING',
'BASH_LINENO',
'BASH_REMATCH',
'BASH_SOURCE',
'BASH_SUBSHELL',
'BASH_VERSINFO',
'BASH_VERSION',
'BASH_XTRACEFD',
'CDPATH',
'COLUMNS',
'COMPREPLY',
'COMP_CWORD',
'COMP_KEY',
'COMP_LINE',
'COMP_POINT',
'COMP_TYPE',
'COMP_WORDBREAKS',
'COMP_WORDS',
'DIRSTACK',
'EMAC&S',
'EUID',
'FCEDIT',
'FIGNORE',
'FUNCNAME',
'FUNCNEST',
'GLOBIGNORE',
'GROUPS',
'HISTCMD',
'HISTCONTROL',
'HISTFILE',
'HISTFILESIZE',
'HISTIGNORE',
'HISTSIZE',
'HISTTIMEFORMAT',
'HOME',
'HOSTFILE',
'HOSTNAME',
'HOSTTYPE',
'IFS',
'IGNOREEOF',
'INPUTRC',
'LANG',
'LC_ALL',
'LC_COLLATE',
'LC_CTYPE',
'LC_MESSAGES',
'LC_NUMERIC',
'LINENO',
'LINES',
'MACHTYPE',
'MAIL',
'MAILCHECK',
'MAILPATH',
'OLDPWD',
'OPTARG',
'OPTERR',
'OPTIND',
'OSTYPE',
'PATH',
'PIPESTATUS',
'POSIXLY_CORRECT',
'PPID',
'PROMPT_COMMAND',
'PROMPT_DIRTRIM',
'PS1',
'PS2',
'PS3',
'PS4',
'PWD',
'RANDOM',
'REPLY',
'SECONDS',
'SHELL',
'SHELLOPTS',
'SHLVL',
'TIMEFORMAT',
'TMOUT',
'TMPDIR',
'UID',
== ENDLIST ==
== Environment == expandmenu, insert, map:ben, sc:e ==
|PickList( 'Environment', 'environment' )|
|PICK|<CURSOR>
== ENDTEMPLATE ==
@@ -0,0 +1,32 @@
§ =============================================================
§ IO Redirection
§ =============================================================
== LIST: IORedirection == hash ==
'append STDOUT and STDERR &>>': ' &>> <CURSOR>',
'close input from file descr n n<&-': ' <CURSOR><&- ',
'close output from file descr n n>&-': ' <CURSOR>>&- ',
'close STDIN <&-': ' <&- <CURSOR>',
'close STDOUT >&-': ' >&- <CURSOR>',
'direct file descr n to file, append n>>' : ' <CURSOR>>> ',
'direct file descr n to file n>' : ' <CURSOR>> ',
'direct STDOUT and STDERR to file &>' : ' &> <CURSOR>',
'direct STDOUT to file, append >>' : ' >> <CURSOR>',
'direct STDOUT to file >' : ' > <CURSOR>',
'direct STDOUT to STDERR >&2' : ' >&2<CURSOR>',
'duplicate STDIN from file descr n n<&' : ' <<CURSOR>& ',
'duplicate STDOUT to file descr n n>&' : ' ><CURSOR>& ',
'take file descr n from file n<' : ' <CURSOR>< ',
'take STDIN from file <' : ' < <CURSOR>',
== ENDLIST ==
== IO-Redir.redir == expandmenu, insert, sc:r, map:ior ==
|PickList( 'IO-Redir', 'IORedirection' )|
|PICK|
== ENDTEMPLATE ==
== IO-Redir.here-document == insert, sc:h, map:ioh ==
<<-EOF
<SPLIT><CURSOR>
EOF
== ENDTEMPLATE ==
@@ -0,0 +1,33 @@
§ =============================================================
§ Parameter Substitution
§ =============================================================
== LIST: ParameterSubstitution == hash ==
'all lower to upper ${ ^^ }' : '${<CURSOR>^^<+pattern+>}',
'all upper to lower ${ ,, }' : '${<CURSOR>,,<+pattern+>}',
'assign default value ${ := }' : '${<CURSOR>:=<+word+>}',
'display error ${ :? }' : '${<CURSOR>:?<+word+>}',
'first lower to upper ${ ^ }' : '${<CURSOR>^<+pattern+>}',
'first upper to lower ${ , }' : '${<CURSOR>,<+pattern+>}',
'indirect parameter expansion ${! }' : '${!<CURSOR>}',
'names matching prefix ${! *}' : '${!<CURSOR>*}',
'parameter length ${# }' : '${#<CURSOR>}',
'pattern substitution all ${ // / }' : '${<CURSOR>//<+pattern+>/<+string+>}',
'pattern substitution begin ${ /# / }' : '${<CURSOR>/#<+pattern+>/<+string+>}',
'pattern substitution ${ / / }' : '${<CURSOR>/<+pattern+>/<+string+>}',
'pattern substitution end ${ /% / }' : '${<CURSOR>/%<+pattern+>/<+string+>}',
'remove all matching prefix pattern ${ ## }' : '${<CURSOR>##<+word+>}',
'remove all matching suffix pattern ${ %% }' : '${<CURSOR>%%<+word+>}',
'remove matching prefix pattern ${ # }' : '${<CURSOR>#<+word+>}',
'remove matching suffix pattern ${ % }' : '${<CURSOR>%<+word+>}',
'substitution ${ }' : '${<SPLIT><CURSOR>}',
'substring expansion ${ : : }' : '${<CURSOR>:<+offset+>:<+length+>}',
'use alternate value ${ :+ }' : '${<CURSOR>:+<+word+>}',
'use default value ${ :- }' : '${<CURSOR>:-<+word+>}',
== ENDLIST ==
== ParamSub == expandmenu, insert, sc:p, map:bps ==
|PickList( 'Parameter Substitution', 'ParameterSubstitution' )|
|PICK|
== ENDTEMPLATE ==
@@ -0,0 +1,51 @@
§ =============================================================
§ RegExp
§ =============================================================
== PatternMatching.zero or one == insert, map:pzo, sc:z ==
?(<SPLIT><CURSOR>|)
== PatternMatching.zero or more == insert, map:pzm, sc:z ==
*(<SPLIT><CURSOR>|)
== PatternMatching.one or more == insert, map:pom, sc:o ==
+(<SPLIT><CURSOR>|)
== PatternMatching.exactly one == insert, map:peo, sc:e ==
@(<SPLIT><CURSOR>|)
== PatternMatching.anything except == insert, map:pae, sc:a ==
!(<SPLIT><CURSOR>|)
== ENDTEMPLATE ==
== SEP: PatternMatching.sep1 ==
== LIST: POSIX_CharClasses == list ==
'alnum',
'alpha',
'ascii',
'blank',
'cntrl',
'digit',
'graph',
'lower',
'print',
'punct',
'space',
'upper',
'word',
'xdigit',
== ENDLIST ==
== PatternMatching.POSIX classes == expandmenu, insert, sc:p, map:ppc ==
|PickList( 'POSIX char. classes', 'POSIX_CharClasses' )|
[:|PICK|:]<CURSOR>
== ENDTEMPLATE ==
== LIST: BashRematch == list ==
'${BASH_REMATCH[0]}',
'${BASH_REMATCH[1]}',
'${BASH_REMATCH[2]}',
'${BASH_REMATCH[3]}',
== ENDLIST ==
== PatternMatching.BASH_REMATCH == expandmenu, insert, sc:b, map:pbr ==
|PickList( 'BASH_REMATCH', 'BashRematch' )|
|PICK|<CURSOR>
== ENDTEMPLATE ==
@@ -0,0 +1,51 @@
§ =============================================================
§ RegExp
§ =============================================================
== Regexp.zero or one == insert, map:xzo, sc:z ==
?(<SPLIT><CURSOR>|)
== Regexp.zero or more == insert, map:xzm, sc:z ==
*(<SPLIT><CURSOR>|)
== Regexp.one or more == insert, map:xom, sc:o ==
+(<SPLIT><CURSOR>|)
== Regexp.exactly one == insert, map:xeo, sc:e ==
@(<SPLIT><CURSOR>|)
== Regexp.anything except == insert, map:xae, sc:a ==
!(<SPLIT><CURSOR>|)
== ENDTEMPLATE ==
== SEP: Regexp.sep1 ==
== LIST: POSIX_CharClasses == list ==
'alnum',
'alpha',
'ascii',
'blank',
'cntrl',
'digit',
'graph',
'lower',
'print',
'punct',
'space',
'upper',
'word',
'xdigit',
== ENDLIST ==
== Regexp.POSIX classes == expandmenu, insert, sc:p, map:xpc ==
|PickList( 'POSIX char. classes', 'POSIX_CharClasses' )|
[:|PICK|:]<CURSOR>
== ENDTEMPLATE ==
== LIST: BashRematch == list ==
'${BASH_REMATCH[0]}',
'${BASH_REMATCH[1]}',
'${BASH_REMATCH[2]}',
'${BASH_REMATCH[3]}',
== ENDLIST ==
== Regexp.BASH_REMATCH == expandmenu, insert, sc:b, map:xbr ==
|PickList( 'BASH_REMATCH', 'BashRematch' )|
|PICK|<CURSOR>
== ENDTEMPLATE ==
@@ -0,0 +1,36 @@
§ =============================================================
§ Set
§ =============================================================
== LIST: set == list ==
'allexport',
'braceexpand',
'emacs',
'errexit',
'errtrace',
'functrace',
'hashall',
'histexpand',
'history',
'ignoreeof',
'keyword',
'monitor',
'noclobber',
'noexec',
'noglob',
'notify',
'nounset',
'onecmd',
'physical',
'pipefail',
'posix',
'privileged',
'verbose',
'vi',
'xtrace',
== ENDLIST ==
== Set == expandmenu, map:bse, sc:s ==
|PickList( 'set option', 'set' )|
set -o |PICK|<CURSOR>
== ENDTEMPLATE ==
@@ -0,0 +1,54 @@
§ =============================================================
§ Shell Options
§ =============================================================
== LIST: shopt == list ==
'autocd',
'cdable_vars',
'cdspell',
'checkhash',
'checkjobs',
'checkwinsize',
'cmdhist',
'compat31',
'compat32',
'compat40',
'compat41',
'dirspell',
'direxpand',
'dotglob',
'execfail',
'expand_aliases',
'extdebug',
'extglob',
'extquote',
'failglob',
'force_fignore',
'globstar',
'gnu_errfmt',
'histappend',
'histreedit',
'histverify',
'hostcomplete',
'huponexit',
'interactive_comments',
'lastpipe',
'lithist',
'login_shell',
'mailwarn',
'no_empty_cmd_completion',
'nocaseglob',
'nocasematch',
'nullglob',
'progcomp',
'promptvars',
'restricted_shell',
'shift_verbose',
'sourcepath',
'xpg_echo',
== ENDLIST ==
== Shopts == expandmenu, insert, map:bso, sc:o ==
|PickList( 'Shopts', 'shopt' )|
shopt -s |PICK|<CURSOR>
== ENDTEMPLATE ==
@@ -0,0 +1,21 @@
§ =============================================================
§ Special Parameters
§ =============================================================
== LIST: SpecialParameters == hash ==
'number of posit. param., ${#}' : '${#}',
'all posit. param. (quoted spaces), ${*}' : '${*}',
'all posit. param. (unquoted spaces), ${@}' : '${@}',
'number of posit. parameters, ${#@}' : '${#@}',
'return code of last command, ${?}' : '${?}',
'PID of this shell, ${$}' : '${$}',
'flags set, ${-}' : '${-}',
'last argument of prev. command, ${_}' : '${_}',
'PID of last background command, ${!}' : '${!}',
== ENDLIST ==
== SpecParams == expandmenu, insert, sc:p, map:bsp ==
|PickList( 'Special Parameters', 'SpecialParameters' )|
|PICK|<CURSOR>
== ENDTEMPLATE ==
@@ -0,0 +1,79 @@
§ =============================================================
§ Statements
§ =============================================================
== Statements.case == map:sc, shortcut:c ==
case <CURSOR> in
)
;;
)
;;
*)
;;
esac # --- end of case ---
== Statements.elif == map:sei, shortcut:e ==
elif <CURSOR> ; then
== Statements.for-in == map:sf, shortcut:f ==
for <CURSOR> in ; do
<SPLIT><-LOOP_BODY->
done
== Statements.for == map:sfo, shortcut:f ==
for (( CNTR=0; CNTR<<CURSOR>0; CNTR+=1 )); do
<SPLIT><-LOOP_BODY->
done
== Statements.if == map:si, shortcut:i ==
if <CURSOR> ; then
<SPLIT><-IF_PART->
fi
== Statements.if-else == map:sie, shortcut:i ==
if <CURSOR> ; then
<SPLIT><-IF_PART->
else
<+ELSE_PART+>
fi
== Statements.select == map:ss, shortcut:s ==
select <CURSOR> in ; do
<SPLIT>done
== Statements.until == map:su, shortcut:u ==
until <CURSOR> ; do
<SPLIT>done
== Statements.while == map:sw, shortcut:w ==
while <CURSOR> ; do
<SPLIT>done
== Statements.function == map:sfu, shortcut:f ==
function |?FUNCTION_NAME| ()
{
<CURSOR><SPLIT>
} # ---------- end of function |FUNCTION_NAME| ----------
== ENDTEMPLATE ==
§ -------------------------------------------------------------
== SEP: Statements.sep-print ==
== Statements.echo == insert, map:se, shortcut:e ==
echo -e "<CURSOR><SPLIT>"
== Statements.printf == insert, map:sp, shortcut:p ==
printf "%s\n" <CURSOR><SPLIT>
== ENDTEMPLATE ==
§ -------------------------------------------------------------
== SEP: Statements.sep-array ==
== Statements.array element == insert, map:sae, shortcut:a ==
${<CURSOR><SPLIT>[]}
== Statements.array elements, all == insert, map:saa, shortcut:a ==
${<CURSOR><SPLIT>[@]}
== Statements.array elements, string == insert, map:sas, shortcut:s ==
${<CURSOR><SPLIT>[*]}
== Statements.subarray == insert, map:ssa, shortcut:s ==
${<CURSOR><SPLIT>[@]::}
== Statements.no of element == insert, map:san, shortcut:n ==
${#<CURSOR><SPLIT>[@]}
== Statements.array indices== insert, map:sai, shortcut:i ==
${!<CURSOR><SPLIT>[@]}
== ENDTEMPLATE ==
@@ -0,0 +1,86 @@
§ =============================================================
§ Tests
§ =============================================================
== LIST: TestsArithmetic == hash ==
'arg1 is equal to arg2, -eq' : '-eq',
'arg1 not equal to arg2, -ne' : '-ne',
'arg1 less than arg2, -lt' : '-lt',
'arg1 less than or equal to arg2, -le' : '-le',
'arg1 greater than arg2, -gt' : '-gt',
'arg1 greater than or equal to arg2, -ge' : '-ge',
== ENDLIST ==
== Tests.arithmetic tests == expandmenu, insert, sc:a, map:ta ==
|PickList( 'arithmetic tests', 'TestsArithmetic' )|
[ <CURSOR> |PICK| ]
== ENDTEMPLATE ==
== LIST: TestsFilePermission == hash ==
'readable, -r' : '-r',
'writable, -w' : '-w',
'executable, -x' : '-x',
'SUID-bit is set, -u' : '-u',
'SGID-bit is set, -g' : '-g',
'sticky bit is set, -k' : '-k',
== ENDLIST ==
== Tests.file permissions == expandmenu, insert, sc:p, map:tfp ==
|PickList( 'file permission', 'TestsFilePermission' )|
[ <CURSOR> |PICK| ]
== ENDTEMPLATE ==
== LIST: TestsFileTypes == hash ==
'block special file, -b' : '-b',
'character special file, -c' : '-c',
'directory, -d' : '-d',
'named pipe (FIFO), -p' : '-p',
'regular file, -f' : '-f',
'socket, -S' : '-S',
'symboloc link, -L, -h' : '-L',
== ENDLIST ==
== Tests.file types == expandmenu, insert, sc:t, map:tft ==
|PickList( 'file type', 'TestsFileTypes' )|
[ <CURSOR> |PICK| ]
== ENDTEMPLATE ==
== LIST: TestsFileCharacteristics == hash ==
'file exists, -e, -a' : '-e',
'file exists, size greater zero, -s' : '-s',
'file exists, owned by eff UID, -O' : '-O',
'file exists, owned by eff GID, -G' : '-G',
'file exists, modified since last read, -N' : '-N',
'file1 newer than file2, -nt' : '-nt',
'file1 older than file2, -ot' : '-ot',
'files have same device and inode numbers , -ef' : '-ef',
== ENDLIST ==
== Tests.file characteristics == expandmenu, insert, sc:c, map:tfc ==
|PickList( 'file characteristics', 'TestsFileCharacteristics' )|
[ <CURSOR> |PICK| ]
== ENDTEMPLATE ==
== LIST: TestsStrings == hash ==
'length is zero, -z' : '-z',
'length is non-zero, -n' : '-n',
'strings are equal, ==' : '==',
'strings are not equal, !=' : '!=',
'sorts before, <' : '<',
'sorts after, >' : '>',
== ENDLIST ==
== Tests.string comparison == expandmenu, insert, sc:s, map:ts ==
|PickList( 'string comparisons', 'TestsStrings' )|
[ <CURSOR> |PICK| ]
== ENDTEMPLATE ==
== Tests.option is enabled, -o == insert, map:toe, sc:o ==
[ -o <CURSOR> ]
== Tests.variable has been set, -v == insert, map:tvs, sc:v ==
[ -v <CURSOR> ]
== Tests.file descriptor is open, refers to a terminal, -t == insert, map:tfd, sc:d ==
[ -t <CURSOR> ]
== Tests.string matches regexp == insert, map:tm, sc:m ==
[[ <CURSOR> =~ ]]
== ENDTEMPLATE ==
@@ -0,0 +1,264 @@
BASH
BASHPID
BASH_ALIASES
BASH_ARGC
BASH_ARGV
BASH_CMDS
BASH_COMMAND
BASH_ENV
BASH_EXECUTION_STRING
BASH_LINENO
BASHOPTS
BASH_REMATCH
BASH_SOURCE
BASH_SUBSHELL
BASH_VERSINFO
BASH_VERSION
BASH_XTRACEFD
CDPATH
COLUMNS
COMPREPLY
COMP_CWORD
COMP_KEY
COMP_LINE
COMP_POINT
COMP_TYPE
COMP_WORDBREAKS
COMP_WORDS
DIRSTACK
EMACS
EUID
FCEDIT
FIGNORE
FUNCNAME
FUNCNEST
GLOBIGNORE
GROUPS
HISTCMD
HISTCONTROL
HISTFILE
HISTFILESIZE
HISTIGNORE
HISTSIZE
HISTTIMEFORMAT
HOME
HOSTFILE
HOSTNAME
HOSTTYPE
IFS
IGNOREEOF
INPUTRC
LANG
LC_ALL
LC_COLLATE
LC_CTYPE
LC_MESSAGES
LC_NUMERIC
LINENO
LINES
MACHTYPE
MAIL
MAILCHECK
MAILPATH
OLDPWD
OPTARG
OPTERR
OPTIND
OSTYPE
PATH
PIPESTATUS
POSIXLY_CORRECT
PPID
PROMPT_COMMAND
PROMPT_DIRTRIM
PS1
PS2
PS3
PS4
PWD
RANDOM
REPLY
SECONDS
SHELL
SHELLOPTS
SHLVL
TIMEFORMAT
TMOUT
TMPDIR
UID
auto_resume
histchars
alias
bg
bind
break
builtin
caller
cd
command
compgen
complete
compopt
continue
declare
dirs
disown
echo
enable
eval
exec
exit
export
false
fc
fg
getopts
hash
help
history
jobs
kill
let
local
logout
mapfile
popd
printf
pushd
pwd
read
readarray
readonly
return
set
shift
shopt
source
suspend
test
times
trap
true
type
typeset
ulimit
umask
unalias
unset
wait
case
done
elif
else
esac
for
function
select
then
time
until
while
allexport
braceexpand
emacs
errexit
errtrace
functrace
hashall
histexpand
history
ignoreeof
keyword
monitor
noclobber
noexec
noglob
notify
nounset
onecmd
physical
pipefail
posix
privileged
verbose
xtrace
autocd
cdable_vars
cdspell
checkhash
checkjobs
checkwinsize
cmdhist
compat31
compat32
compat40
compat41
dirspell
dotglob
execfail
expand_aliases
extdebug
extglob
extquote
failglob
force_fignore
globstar
gnu_errfmt
histappend
histreedit
histverify
hostcomplete
huponexit
interactive_comments
lastpipe
lithist
login_shell
mailwarn
no_empty_cmd_completion
nocaseglob
nocasematch
nullglob
progcomp
promptvars
restricted_shell
shift_verbose
sourcepath
xpg_echo
SIGABRT
SIGALRM
SIGBUS
SIGCHLD
SIGCONT
SIGFPE
SIGHUP
SIGILL
SIGINT
SIGIO
SIGKILL
SIGPIPE
SIGPROF
SIGPWR
SIGQUIT
SIGRTMAX
SIGRTMIN
SIGSEGV
SIGSTKFLT
SIGSTOP
SIGSYS
SIGTERM
SIGTRAP
SIGTSTP
SIGTTIN
SIGTTOU
SIGURG
SIGUSR1
SIGUSR2
SIGVTALRM
SIGWINCH
SIGXCPU
SIGXFSZ
@@ -0,0 +1,437 @@
=======================================================================================
RELEASE NOTES FOR VERSION 4.2
=======================================================================================
- Default shell can be set in ~/.vimrc via g:BASH_Executable.
- Errors can be parsed for bash, dash, ksh, zsh.
- Bugfix: QuickFix list doesn't work properly (thanks to @PengZheng)
- 'Run -> make script executable' (\re) is now a toggle.
- Minor corrections and improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 4.1
=======================================================================================
- Filetype plugin added.
- Bugfix: Setup of local templates in case of global installation.
- Adjusting end-of-line comments improved.
- Submenu 'Regexp' renamed to 'PatternMatching'. Appropriate hotkeys renamed.
- Minor bugfixes.
- Documentation updated.
=======================================================================================
RELEASE NOTES FOR VERSION 4.0
=======================================================================================
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++ The plug-in version 4.0+ is a rewriting of version 3.12.1. ++
++ The versions 4.0+ are based on a new and more powerful template system ++
++ (please see ":help template-support" for more information). ++
++ The template syntax has changed! ++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
- New template system (many thanks to Wolfgang Mehner)
- A few new hotkeys and menu item.
- A few hotkeys and menu items renamed.
- Footer did not appear in doc/bash-hotkeys.pdf
=======================================================================================
RELEASE NOTES FOR VERSION 3.12.1
=======================================================================================
- Minor additions and bugfixes in 2 menus.
- Test -v added.
=======================================================================================
RELEASE NOTES FOR VERSION 3.12
=======================================================================================
- New global variable g:BASH_InsertFileHeader (suppress file description comment for new files)
- New menu item 'view code snippet' (\nv).
- New ex command BASH_ScriptCmdLineArguments.
- 3 ex commands renamed.
- Minor internal improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.11
=======================================================================================
- Rendering of manuals (\hm) and Bash help (\hh).
- Bugfix: \hb, \hm, \hh not working.
- Minor internal improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.10
=======================================================================================
- Resolve $HOME for linked home directories.
- Wrong insertion for parameter substitution "match beginning; del longest
part" (thanks to John Orr).
- Other minor bugs fixed.
=======================================================================================
RELEASE NOTES FOR VERSION 3.9
=======================================================================================
- Hotkey renamed: \st -> \su
- New global variable allows loading menus only with filetype 'sh'.
- Comments: echo "<line>" escapes double quotes in original text.
- Other minor bugs fixed.
=======================================================================================
RELEASE NOTES FOR VERSION 3.8
=======================================================================================
- New comment submenu 'script sections'.
- Two new hotkeys \css, \ckc for commenting.
- Two new plugin tags: LICENSE,ORGANIZATION
- Run menu: new item 'Bash cmd. line arg.' (\rba).
- I/O-Redir-menu: additional item'>&2'
- System-wide installation: minimal Template file for a user will automatically
be added.
- Hotkey renamed: \t -> \t1
- A few code snippets for debugging added.
- Bugfix: \cl did not work in insert mode.
- Other minor bugs fixed.
=======================================================================================
RELEASE NOTES FOR VERSION 3.7
=======================================================================================
- The three hotkeys \cl, \cj, \cc allow a range, e.g. '3\cl' (see help text and
bash-hot-key.pdf).
- Plugin loads faster: loading the templates is delayed until the first use.
- Plugin now works with pathogen.vim.
- Menus will always be generated (for the use with :emenu).
- Bugfix: no local templates available with a system-wide installation (thanks to Iain Arnell).
- Several improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.6
=======================================================================================
- New hotkey \ssa and menu entry for the selection of a subarray.
- Bugfix: detection of a systemwide installation can fail.
- Minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.5
=======================================================================================
- Bugfix: detection of a systemwide installation can fail.
- Minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.4
=======================================================================================
- 2 new hotkeys: \t, \t2 (empty tests)
- Windows: user and system installation.
- Syntax check under Windows.
- Several minor bugsfixed.
=======================================================================================
RELEASE NOTES FOR VERSION 3.3
=======================================================================================
- 3 hotkeys renamed: \sl -> \sei (elif), \sas -> \saa ( ${.[@]} ) , \hp -> \hbs.
- 3 new hotkeys: \sa1 ( ${.[*]} ), \san ( ${#.[@]} ), \sai ( ${!.[@]} ).
- 1 new menu entry (Tests)
- Minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 3.2
=======================================================================================
- New hotkey and menu entry for [[ =~ ]]
- New for Bash 4.1: shopt 'compat40', variables '$BASHOPTS', '$BASH_XTRACEFD'.
- Bugfixes: local installation looks like a system-wide installation in seldom cases.
- Bugfixes: typo in 4 menu entries.
=======================================================================================
RELEASE NOTES FOR VERSION 3.1.1
=======================================================================================
- Bugfixes: code snippets will not be found if plugin not installed beyond '$HOME/.vim'.
- Bugfixes: undocumented global variable used in above non-standard installation.
=======================================================================================
RELEASE NOTES FOR VERSION 3.1
=======================================================================================
- The plugin now handles different template styles without editing and
reloading the main template file.
- New hotkey and ex-command to switch template styles.
- New global List/Dictionnary g:BASH_AlsoBash: add filename pattern (and
styles) for files not named *.sh .
- Minor improvements.
- Bugfixes: missing redraws in some cases.
=======================================================================================
RELEASE NOTES FOR VERSION 3.0.1
=======================================================================================
- New global variable g:BASH_Errorformat: adapt the error format used to parse
runtime messages to your locale setting.
- Bugfix (Windows only): missing internal variable prevents proper initialization.
=======================================================================================
RELEASE NOTES FOR VERSION 3.0
=======================================================================================
+ Completely new template system. User can change templates on the fly.
+ Additional mapping Ctrl-j : jump behind parenthesis or strings in the current line.
+ A few Posix character classes have better shortcuts.
+ Bugfix: insert mode for Posix character classes.
=======================================================================================
RELEASE NOTES FOR VERSION 2.14
=======================================================================================
+ Debugging: ddd always called with bashdb(1).
+ More complete adaption to Bash 4.0: options, builtins, environment variables.
+ Bugfix: running and starting the debugger causes error if working directory is not
the directory of the current file.
+ Minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 2.13
=======================================================================================
+ New menu item 'array element'.
+ New hotkeys \sa, \sas.
+ New submenu 'Snippets'.
+ Hotkeys for the POSIX character classes.
+ Hardcopy (run menu) can print any buffer.
+ Bugfix: 'Run->save + run script' (\rr, <C-F9>) : visual mode broken.
+ Minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 2.12
=======================================================================================
+ Hotkeys are shown in the menus.
+ New menu item and hotkey \hb : open the Bash manual.
+ New hotkey \rco : syntax check options.
+ File browser for code snippets choosable (new global variable).
+ Bugfix: wrapper script for use of a xterm could not handle parameters containing blanks.
+ Minor improvements.
=======================================================================================
RELEASE NOTES FOR VERSION 2.11
=======================================================================================
+ Additions for Bash version 4.0.
+ Comments menu (\cj): adjustment of end-of-line comments improved.
+ Two submenus rearranged.
=======================================================================================
RELEASE NOTES FOR VERSION 2.10
=======================================================================================
- new item in the Statements-menu: 'for ((...)) do done'.
- new item in the Statements-menu: 'printf "%s"'.
- new item in the Statements-menu: indirect parameter expansion ${!name}
- Bugfix: unnecessary submenu beyond 'Environ'.
- Bugfix: shopt menu had no insert mode.
=======================================================================================
RELEASE NOTES FOR VERSION 2.9.1
=======================================================================================
- Map leader for hotkeys now user definable: new global variable g:BASH_MapLeader.
- Bugfix: 'Statements->no. of elem.s' inserts wrong text.
=======================================================================================
RELEASE NOTES FOR VERSION 2.9
=======================================================================================
+ Can now be used under Windows, e.g. with win-bash (few restrictions).
+ Name completion when entering a builtin name.
+ Bugfix: help shows no selection when just 2 manuals are available.
=======================================================================================
RELEASE NOTES FOR VERSION 2.8
=======================================================================================
+ New help menu: help reorganized, 3 new help hotkeys.
+ The help hotkeys now also work when Vim is run on the console.
=======================================================================================
RELEASE NOTES FOR VERSION 2.7.1
=======================================================================================
+ Minor bugfix in the I/O-Redir-menu.
+ I/O-Redir-menu shows redirectors (sort of help).
+ I/O-Redir-menu: here-document item has a vmode.
+ File name expansion for the first command line argument entered with <S-F9>.
=======================================================================================
RELEASE NOTES FOR VERSION 2.7
=======================================================================================
+ When a Bash script is started from the Vim command line errors and warnings (if any)
are caught in an error window allowing quickfix commands to be used.
+ Scripts which are not set executable can be run under Vim.
+ One new hotkey.
=======================================================================================
RELEASE NOTES FOR VERSION 2.6
=======================================================================================
+ Superfluous control characters for mode switching (menus, hotkeys) removed. Caused beeps.
+ Most hotkeys now work in insert mode.
=======================================================================================
RELEASE NOTES FOR VERSION 2.5
=======================================================================================
+ Menu item 'toggle comment' replaces 'code->comment' and 'comment->code'
+ Hotkey \co removed, \cc is now a toggle.
+ Bugfix. Adjusting comments (\cj): # in '$#' and '${#...}' is no longer
regarded as a start of a comment.
+ Bugfix. \cl in insert mode called function for visual mode.
=======================================================================================
RELEASE NOTES FOR VERSION 2.4
=======================================================================================
+ Format for the macros |DATE|, |TIME|, and |YEAR| can be defined by the user.
+ Help text improved.
+ Option 'nocasematch' added
+ Additional menu entries: 1 parameter substitution, 1 special variable, array index list.
=======================================================================================
RELEASE NOTES FOR VERSION 2.3
=======================================================================================
+ Changes to allow a system-wide installation.
=======================================================================================
RELEASE NOTES FOR VERSION 2.2
=======================================================================================
+ Snippets can now be managed in the console mode.
+ Three new key mappings for snippet handling.
+ Three items from the statements menu removed (quoting; but see file customization.vimrc).
=======================================================================================
RELEASE NOTES FOR VERSION 2.1
=======================================================================================
+ New menu item and key mapping to adjust end-of-line comments.
+ New insert mode mappings.
+ A few mappings have been renamed (to bring them into line with my C/C++ and Perl plugin).
=======================================================================================
RELEASE NOTES FOR VERSION 2.0.1
=======================================================================================
+ Bugfix: missing hotkey \ch added.
+ File wrapper.sh moved to the new directory 'bash-support/scripts'.
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 2.0
---------------------------------------------------------------------------------------
+ PLUGIN DIRECTORIES REARRANGED.
+ One new mapping (\cs).
+ Statement menu extended.
+ Bash keyword help (S-F1) improved.
+ Bugfix: empty new file after removing the header template can't be closed.
+ Bugfix : Tools entry missing when root menu not shown from the start.
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.15
---------------------------------------------------------------------------------------
+ Needs Vim version 7.0+.
+ Inserting a function can be used in visual mode (+ new key mapping).
+ Bugfix: cursor misplaced after some visual mode operations.
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.14
---------------------------------------------------------------------------------------
+ Setting the column for the start of line-end comments improved.
+ Mac OS X : circumvent a Vim bug which caused a crash when loading plugin version 1.13.
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.13
---------------------------------------------------------------------------------------
+ The hotkeys F9 and \rd now also starts the debugger if vim is running without GUI.
+ The debugger frontend ddd can be started as preferred debugger.
+ New help entry in the main menu of this plugin (shows the plugin documentation).
+ A hardcopy shows the localized date and time in the header line.
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.12
---------------------------------------------------------------------------------------
+ Bugfix: hotkey <S-F9> now working again.
+ Syntax check recognizes shopt options.
+ New regex menu: compose regular expressions with a few keystrokes from the menu.
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.11
---------------------------------------------------------------------------------------
+ Start debugger bashdb with a keystroke.
+ Parameter substitutions completed.
+ Environment variables completed / menu rearranged.
+ Builtins completed.
+ Code <-> comment working in all modes.
+ Insert/remove echo for commenting/uncommenting statements.
+ Script will be made executable before running it (e.g. after a "Save As...").
+ Statement menu now in alphabetical order.
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.10.1
---------------------------------------------------------------------------------------
+ Starting an xterm was not possible with some installations (bugfix).
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.10
---------------------------------------------------------------------------------------
+ New Bash 3.0 set options added.
+ Shopt-menu added.
+ More builtins.
+ <S-F1> or \h displays help for the Bash builtin command under the cursor.
+ Key mappings for all run menu entries.
+ Line end comments start in a fixed column now (can be set from the menu).
+ Spaces in path names and file names are now possible.
+ Template files and snippet files are no longer kept in the list of alternate files.
+ Global variable is_bash is set to avoid a wrong highlighting for $(..) and $((..)).
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.9
---------------------------------------------------------------------------------------
+ Running a Bash-script
(1) The script can be run from the command line as usual.
(2) The output can be directed into a window with name "Bash-Output".
The buffer and its content will disappear when closing the window.
The buffer is reused when still open.
(3) The script can be run in an xterm.
+ The new hotkey Shift-F9 or the "cmd. line arg." sets command line arguments for the
current buffer (that is, each buffer can have its own arguments).
+ A code snippet with the file name extension "ni" or "noindent" will not be
indented on insertion.
+ 'Line End Comments' ignores blank lines in a marked block.
+ Calling a set-command (submenu "Set") for a marked block will set this option above
this block and unset it below.
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.8
---------------------------------------------------------------------------------------
+ Installation simplified.
+ Run syntax check / list errors in an error window
+ Append aligned comments to all lines of a marked block.
+ The root menu can be removed (default is not removed).
+ The dialog windows (GUI) have been replaced by more flexible command line inputs.
+ User will now be asked before a snippet file will be overwritten.
+ The undocumented and unnecessary hot key F12 has been removed.
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.7
---------------------------------------------------------------------------------------
+ Only one entry in the gVim root menu.
+ All hotkeys are only defined for bash files.
+ Install script added.
+ Customization improved.
+ Documentation improved.
+ Bug fix (template file handling)
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.6
---------------------------------------------------------------------------------------
+ 28 key mappings for Vim without GUI. See bash-hot-keys.pdf (reference card).
+ Vim doc added (file bashsupport.txt).
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.5
---------------------------------------------------------------------------------------
+ Tag substitution rewritten (Some characters in a substitution text for a tag
prevented the tag from being substituted).
+ All bash variables can now be inserted from the menus.
+ A marked region can be surrounded by a for-, if, select- while- or until
statement (with indentation).
+ A marked text can be surrounded with quotes.
+ A marked region or a complete line can be surrounded with echo " ".
+ The echo " " can be removed from a line.
---------------------------------------------------------------------------------------
RELEASE NOTES FOR VERSION 1.4
---------------------------------------------------------------------------------------
+ Block comments are now read as templates or skeletons from files:
frame Comment, function description, file header
+ These templates can contain tags like |FILENAME|, |AUTHOR| etc. which are replaced
after reading.
+ indentation: multiline inserts and code snippets will be indented after insertion.
+ Most menu entries are now also active in normal mode.
+ Reading the templates is done in one function which can be called in an autocmd.
+ Code cleanup: register z no longer used. Most function calls are silent now.
@@ -0,0 +1,268 @@
%%=====================================================================================
%%
%% File: bash-hotkeys.tex
%%
%% Description: bash-support.vim : Key mappings for Bash with/without GUI.
%%
%% Author: Dr.-Ing. Fritz Mehner
%% Email: mehner.fritz@fh-swf.de
%% Copyright: Copyright (C) 2013-2014 Dr.-Ing. Fritz Mehner (mehner.fritz@fh-swf.de)
%% Version: see \Pluginversion
%% Created: 20.05.2013
%%
%%=====================================================================================
%%======================================================================
%% LaTeX settings [[[1
%%======================================================================
\documentclass[oneside,11pt,landscape,DIV16]{scrartcl}
\usepackage[english]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{lastpage}
\usepackage{multicol}
\usepackage{fancyhdr}
\setlength\parindent{0pt}
\newcommand{\Pluginversion}{4.2.1}
\newcommand{\ReleaseDate}{\today}
\newcommand{\Rep}{{\scriptsize{[n]}}}
%%----------------------------------------------------------------------
%% fancyhdr
%%----------------------------------------------------------------------
\pagestyle{fancyplain}
\fancyhf{}
\fancyfoot[L]{\small \ReleaseDate}
\fancyfoot[C]{\small bash-support.vim}
\fancyfoot[R]{\small \textbf{Page \thepage{} / \pageref{LastPage}}}
\renewcommand{\headrulewidth}{0.0pt}
%%----------------------------------------------------------------------
%% luximono : Type1-font
%% Makes keyword stand out by using semibold letters.
%%----------------------------------------------------------------------
\usepackage[scaled]{luximono}
%%----------------------------------------------------------------------
%% hyperref
%%----------------------------------------------------------------------
\usepackage[ps2pdf]{hyperref}
\hypersetup{pdfauthor={Dr.-Ing. Fritz Mehner, FH Südwestfalen, Iserlohn, Germany}}
\hypersetup{pdfkeywords={Vim, Perl}}
\hypersetup{pdfsubject={Vim-plug-in, bash-support.vim, hot keys}}
\hypersetup{pdftitle={Vim-plug-in, bash-support.vim, hot keys}}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% START OF DOCUMENT
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}%
\begin{multicols}{3}
%
\begin{center}
%
%%======================================================================
%% title [[[1
%%======================================================================
\textbf{\textsc{\small{Vim-Plug-in}}}\\
\textbf{\LARGE{bash-support.vim}}\\
\textbf{\textsc{\small{Version \Pluginversion}}}\\
\vspace{5mm}%
\textbf{\textsc{\Huge{Hot keys}}}\\
\vspace{5mm}%
Key mappings for Vim and gVim.\\
Plug-in: http://vim.sourceforge.net\\
Fritz Mehner (mehner.fritz@fh-swf.de)\\
\vspace{1.0mm}
{\normalsize (i)} insert mode, {\normalsize (n)} normal mode, {\normalsize (v)} visual mode\\
\vspace{4.0mm}
%%======================================================================
%% table, left part [[[1
%%======================================================================
%%----------------------------------------------------------------------
%% main menu [[[2
%%----------------------------------------------------------------------
%%~~~~~ TABULAR : begin ~~~~~~~~~~
\begin{tabular}[]{|p{11mm}|p{60mm}|}
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{B}ash}}\\[1.0ex]
\hline \verb'\bps' & \textbf{p}arameter \textbf{s}ubstitution (list) \hfill (n, i)\\
\hline \verb'\bsp' & \textbf{s}pecial \textbf{p}arameters (list) \hfill (n, i)\\
\hline \verb'\ben' & \textbf{en}vironment (list) \hfill (n, i)\\
\hline \verb'\bbu' & \textbf{bu}iltins (list) \hfill (n, i)\\
\hline \verb'\bse' & \textbf{se}t options (list) \hfill (n, i)\\
\hline \verb'\bso' & \textbf{s}h\textbf{o}pts (list) \hfill (n, i)\\
\hline
%%----------------------------------------------------------------------
%% menu Comments [[[2
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{C}omments}} \\[1.0ex]
\hline \Rep\verb'\cl' & end-of-line comment \hfill (n, i, v)\\
\hline \Rep\verb'\cj' & adjust end-of-line comments \hfill (n, i, v)\\
\hline \verb'\cs' & set end-of-line comment col. \hfill (n)\\
%
\hline \Rep\verb'\cc' & code $\rightarrow$ comment \hfill (n, i, v)\\
\hline \Rep\verb'\cu' & uncomment code \hfill (n, i, v)\\
%
\hline \verb'\cfr' & frame comment \hfill (n, i)\\
\hline \verb'\cfu' & function description \hfill (n, i)\\
\hline \verb'\ch' & file header \hfill (n, i)\\
\hline \verb'\cd' & date \hfill (n, i)\\
\hline \verb'\ct' & date \& time \hfill (n, i)\\
\hline \verb'\css' & script sections \hfill (n, i)\\
\hline \verb'\ckc' & keyword comments \hfill (n, i)\\
\hline \verb'\cma' & plug-in macros \hfill (n, i)\\
%
\hline \verb'\ce' & \texttt{echo} "\textsl{actual line}" \hfill (n, i)\\
\hline \verb'\cr' & remove \texttt{echo} from actual line \hfill (n, i)\\
\hline
\end{tabular}\\
%%~~~~~ TABULAR : end ~~~~~~~~~~
%
%%======================================================================
%% table, middle part [[[1
%%======================================================================
%%----------------------------------------------------------------------
%% menu Statements [[[2
%%----------------------------------------------------------------------
%%~~~~~ TABULAR : begin ~~~~~~~~~~
\begin{tabular}[]{|p{11mm}|p{60mm}|}
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{S}tatements}} \\[1.0ex]
\hline \verb'\sc' & \verb'case in ... esac' \hfill (n, i)\\
\hline \verb'\sei' & \verb'elif then' \hfill (n, i)\\
\hline \verb'\sf' & \verb'for in do done' \hfill (n, i, v)\\
\hline \verb'\sfo' & \verb'for ((...)) do done' \hfill (n, i, v)\\
\hline \verb'\si' & \verb'if then fi' \hfill (n, i, v)\\
\hline \verb'\sie' & \verb'if then else fi' \hfill (n, i, v)\\
\hline \verb'\ss' & \verb'select in do done' \hfill (n, i, v)\\
\hline \verb'\su' & \verb'until do done' \hfill (n, i, v)\\
\hline \verb'\sw' & \verb'while do done' \hfill (n, i, v)\\
\hline \verb'\sfu' & \verb'function' \hfill (n, i, v)\\
%
\hline \verb'\se' & \verb'echo -e ""' \hfill (n, i, v)\\
\hline \verb'\sp' & \verb'printf "%s"' \hfill (n, i, v)\\
%
\hline \verb'\sae' & array element\ \ \ \verb'${.[.]}' \hfill (n, i, v)\\
\hline \verb'\saa' & arr. elem.s (all) \ \verb'${.[@]}' \hfill (n, i, v)\\
\hline \verb'\sas' & arr. elem.s (1 word) \ \verb'${.[*]}' \hfill (n, i, v)\\
\hline \verb'\ssa' & subarray \ \verb'${.[@]::}' \hfill (n, i, v)\\
\hline \verb'\san' & no. of arr. elem.s \ \verb'${.[@]}' \hfill (n, i, v)\\
\hline \verb'\sai' & list of indices \ \verb'${.[*]}' \hfill (n, i, v)\\
\hline
%%
%%----------------------------------------------------------------------
%% menu Tests [[[2
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{T}ests}} \\[1.0ex]
\hline \verb'\ta' & arithmetic tests \hfill (n, i)\\
\hline \verb'\tfp' & file permissions \hfill (n, i)\\
\hline \verb'\tft' & file types \hfill (n, i)\\
\hline \verb'\tfc' & file characteristics \hfill (n, i)\\
\hline \verb'\ts' & string comparisons \hfill (n, i)\\
\hline \verb'\toe' & option is enabled \hfill (n, i)\\
\hline \verb'\tvs' & variables has been set \hfill (n, i)\\
\hline \verb'\tfd' & file descr. refers to a terminal \hfill (n, i)\\
\hline \verb'\tm' & string matches regexp \hfill (n, i)\\
\hline
%%
%%----------------------------------------------------------------------
%% menu IO-Redirection [[[2
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{I}O-Redirection}} \\[1.0ex]
\hline \verb'\ior' & IO-redirections (list) \hfill (n, i)\\
\hline \verb'\ioh' & here-document \hfill (n, i)\\
\hline
%
\end{tabular}\\
%%~~~~~ TABULAR : end ~~~~~~~~~~
%
%%======================================================================
%% table, right part [[[1
%%======================================================================
%%----------------------------------------------------------------------
%% menu Pattern Matching [[[2
%%----------------------------------------------------------------------
%%~~~~~ TABULAR : begin ~~~~~~~~~~
\begin{tabular}[]{|p{11mm}|p{62mm}|}
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{P}attern Matching}} \\[1.0ex]
\hline \verb'pzo' & zero or one, \verb' ?( | )' \hfill (n, i)\\
\hline \verb'pzm' & zero or more, \verb' *( | )' \hfill (n, i)\\
\hline \verb'pom' & one or more, \verb' +( | )' \hfill (n, i)\\
\hline \verb'peo' & exactly one, \verb' @( | )' \hfill (n, i)\\
\hline \verb'pae' & anything except, \verb' !( | )' \hfill (n, i)\\
\hline \verb'ppc' & POSIX classes \hfill (n, i)\\
\hline \verb'pbr' & \verb'${BASH_REMATCH[0'$\ldots$\verb'3]}' \hfill (n, i)\\
\hline
%
%%----------------------------------------------------------------------
%% menu Snippet [[[2
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{S\textbf{n}ippets}} \\[1.0ex]
\hline \verb'\nr' & read code snippet \hfill (n, i)\\
\hline \verb'\nv' & view code snippet \hfill (n, i)\\
\hline \verb'\nw' & write code snippet \hfill (n, i, v)\\
\hline \verb'\ne' & edit code snippet \hfill (n, i)\\
\hline \verb'\ntl' & edit templates \hfill (n, i)\\
\hline \verb'\ntr' & reread templates \hfill (n, i)\\
\hline \verb'\nts' & choose style \hfill (n, i)\\
\hline
%%----------------------------------------------------------------------
%% menu Run [[[2
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{R}un}} \\[1.0ex]
\hline \verb'\rr' & update file, run script \hfill (n, i, v$^1$)\\
\hline \verb'\ra' & set script cmd. line arguments \hfill (n, i)\\
\hline \verb'\rba' & set Bash cmd. line arguments \hfill (n, i)\\
\hline \verb'\rc' & update file, check syntax \hfill (n, i)\\
\hline \verb'\rco' & syntax check options \hfill (n, i)\\
\hline \verb'\rd' & start debugger$^1$ \hfill (n, i)\\
\hline \verb'\re' & make script executable/not exec.$^1$ \hfill (n, i)\\
\hline \verb'\rh' & hardcopy buffer \hfill (n, i, v)\\
\hline \verb'\rs' & plug-in settings \hfill (n, i)\\
\hline \verb'\rx' & set xterm size$^{1,2}$ \hfill (n, i)\\
\hline \verb'\ro' & change output destination \hfill (n, i)\\
\hline
%%----------------------------------------------------------------------
%% menu Help [[[2
%%----------------------------------------------------------------------
\hline
\multicolumn{2}{|r|}{\textsl{\textbf{H}elp}}\\[1.0ex]
\hline \verb'\hb' & display the Bash manual \hfill (n,i)\\
\hline \verb'\hh' & help (Bash builtins) \hfill (n,i)\\
\hline \verb'\hm' & show manual (cmd. line utilities) \hfill (n,i)\\
\hline \verb'\hp' & help (plug-in) \hfill (n,i)\\
\hline
\end{tabular}\\
%%~~~~~ TABULAR : end ~~~~~~~~~~
%
\vfill
%
\begin{minipage}[b]{75mm}%
\scriptsize{%
\vspace{2mm}
%\hrulefill\\
$^1$ {Linux/U**x only}\\
$^2$ {GUI only}
}%
\end{minipage}\\
%
%
\end{center}%
\end{multicols}%
%
%%----- TABBING : end ----------
\end{document}
% vim: foldmethod=marker foldmarker=[[[,]]]
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,136 @@
Bash_ResetMapLeader() bashsupport.txt /*Bash_ResetMapLeader()*
Bash_SetMapLeader() bashsupport.txt /*Bash_SetMapLeader()*
bash-support bashsupport.txt /*bash-support*
bashsupport bashsupport.txt /*bashsupport*
bashsupport-Ctrl-j bashsupport.txt /*bashsupport-Ctrl-j*
bashsupport-ad-mappings bashsupport.txt /*bashsupport-ad-mappings*
bashsupport-aligned-comm bashsupport.txt /*bashsupport-aligned-comm*
bashsupport-also-bash bashsupport.txt /*bashsupport-also-bash*
bashsupport-bash-cmdline-args bashsupport.txt /*bashsupport-bash-cmdline-args*
bashsupport-cmdline-args bashsupport.txt /*bashsupport-cmdline-args*
bashsupport-codesnippets bashsupport.txt /*bashsupport-codesnippets*
bashsupport-comm-echo bashsupport.txt /*bashsupport-comm-echo*
bashsupport-comm-keywords bashsupport.txt /*bashsupport-comm-keywords*
bashsupport-comm-realign bashsupport.txt /*bashsupport-comm-realign*
bashsupport-comm-templates bashsupport.txt /*bashsupport-comm-templates*
bashsupport-comm-toggle bashsupport.txt /*bashsupport-comm-toggle*
bashsupport-comments bashsupport.txt /*bashsupport-comments*
bashsupport-custom-files bashsupport.txt /*bashsupport-custom-files*
bashsupport-custom-root bashsupport.txt /*bashsupport-custom-root*
bashsupport-custom-variables bashsupport.txt /*bashsupport-custom-variables*
bashsupport-customization bashsupport.txt /*bashsupport-customization*
bashsupport-debugger bashsupport.txt /*bashsupport-debugger*
bashsupport-dictionary bashsupport.txt /*bashsupport-dictionary*
bashsupport-errorformat bashsupport.txt /*bashsupport-errorformat*
bashsupport-hardcopy bashsupport.txt /*bashsupport-hardcopy*
bashsupport-help bashsupport.txt /*bashsupport-help*
bashsupport-hotkeys bashsupport.txt /*bashsupport-hotkeys*
bashsupport-io-redir bashsupport.txt /*bashsupport-io-redir*
bashsupport-output bashsupport.txt /*bashsupport-output*
bashsupport-pattern bashsupport.txt /*bashsupport-pattern*
bashsupport-release-notes bashsupport.txt /*bashsupport-release-notes*
bashsupport-run bashsupport.txt /*bashsupport-run*
bashsupport-run-script bashsupport.txt /*bashsupport-run-script*
bashsupport-snippets bashsupport.txt /*bashsupport-snippets*
bashsupport-stat-norm-ins bashsupport.txt /*bashsupport-stat-norm-ins*
bashsupport-stat-visual bashsupport.txt /*bashsupport-stat-visual*
bashsupport-statements bashsupport.txt /*bashsupport-statements*
bashsupport-syntax-check bashsupport.txt /*bashsupport-syntax-check*
bashsupport-syntax-check-options bashsupport.txt /*bashsupport-syntax-check-options*
bashsupport-system-wide bashsupport.txt /*bashsupport-system-wide*
bashsupport-templates bashsupport.txt /*bashsupport-templates*
bashsupport-templates-date bashsupport.txt /*bashsupport-templates-date*
bashsupport-templates-definition bashsupport.txt /*bashsupport-templates-definition*
bashsupport-templates-edit bashsupport.txt /*bashsupport-templates-edit*
bashsupport-templates-files bashsupport.txt /*bashsupport-templates-files*
bashsupport-templates-jumptags bashsupport.txt /*bashsupport-templates-jumptags*
bashsupport-templates-macros bashsupport.txt /*bashsupport-templates-macros*
bashsupport-templates-names bashsupport.txt /*bashsupport-templates-names*
bashsupport-tests bashsupport.txt /*bashsupport-tests*
bashsupport-troubleshooting bashsupport.txt /*bashsupport-troubleshooting*
bashsupport-usage-gvim bashsupport.txt /*bashsupport-usage-gvim*
bashsupport-usage-vim bashsupport.txt /*bashsupport-usage-vim*
bashsupport-windows bashsupport.txt /*bashsupport-windows*
bashsupport-xterm bashsupport.txt /*bashsupport-xterm*
bashsupport.txt bashsupport.txt /*bashsupport.txt*
mmtemplates#core#ChooseStyle() templatesupport.txt /*mmtemplates#core#ChooseStyle()*
mmtemplates#core#CreateMaps() templatesupport.txt /*mmtemplates#core#CreateMaps()*
mmtemplates#core#CreateMenus() templatesupport.txt /*mmtemplates#core#CreateMenus()*
mmtemplates#core#EditTemplateFiles() templatesupport.txt /*mmtemplates#core#EditTemplateFiles()*
mmtemplates#core#EscapeMenu() templatesupport.txt /*mmtemplates#core#EscapeMenu()*
mmtemplates#core#ExpandText() templatesupport.txt /*mmtemplates#core#ExpandText()*
mmtemplates#core#InsertTemplate() templatesupport.txt /*mmtemplates#core#InsertTemplate()*
mmtemplates#core#JumpToTag() templatesupport.txt /*mmtemplates#core#JumpToTag()*
mmtemplates#core#NewLibrary() templatesupport.txt /*mmtemplates#core#NewLibrary()*
mmtemplates#core#ReadTemplates() templatesupport.txt /*mmtemplates#core#ReadTemplates()*
mmtemplates#core#ResetMapleader() templatesupport.txt /*mmtemplates#core#ResetMapleader()*
mmtemplates#core#Resource() templatesupport.txt /*mmtemplates#core#Resource()*
mmtemplates#core#SetMapleader() templatesupport.txt /*mmtemplates#core#SetMapleader()*
template-support templatesupport.txt /*template-support*
template-support-IncludeFile() templatesupport.txt /*template-support-IncludeFile()*
template-support-MenuShortcut() templatesupport.txt /*template-support-MenuShortcut()*
template-support-PickFile() templatesupport.txt /*template-support-PickFile()*
template-support-PickList() templatesupport.txt /*template-support-PickList()*
template-support-Prompt() templatesupport.txt /*template-support-Prompt()*
template-support-SetFormat() templatesupport.txt /*template-support-SetFormat()*
template-support-SetMacro() templatesupport.txt /*template-support-SetMacro()*
template-support-SetPath() templatesupport.txt /*template-support-SetPath()*
template-support-SetProperty() templatesupport.txt /*template-support-SetProperty()*
template-support-SetStyle() templatesupport.txt /*template-support-SetStyle()*
template-support-above templatesupport.txt /*template-support-above*
template-support-adv-files templatesupport.txt /*template-support-adv-files*
template-support-adv-styles templatesupport.txt /*template-support-adv-styles*
template-support-advanced templatesupport.txt /*template-support-advanced*
template-support-api templatesupport.txt /*template-support-api*
template-support-api-access templatesupport.txt /*template-support-api-access*
template-support-api-basic templatesupport.txt /*template-support-api-basic*
template-support-api-maps templatesupport.txt /*template-support-api-maps*
template-support-api-misc templatesupport.txt /*template-support-api-misc*
template-support-append templatesupport.txt /*template-support-append*
template-support-backwards templatesupport.txt /*template-support-backwards*
template-support-bare templatesupport.txt /*template-support-bare*
template-support-basics templatesupport.txt /*template-support-basics*
template-support-below templatesupport.txt /*template-support-below*
template-support-change-log templatesupport.txt /*template-support-change-log*
template-support-cmd-cmd-sct templatesupport.txt /*template-support-cmd-cmd-sct*
template-support-cmd-templates templatesupport.txt /*template-support-cmd-templates*
template-support-commands templatesupport.txt /*template-support-commands*
template-support-contents templatesupport.txt /*template-support-contents*
template-support-dict templatesupport.txt /*template-support-dict*
template-support-dictionary templatesupport.txt /*template-support-dictionary*
template-support-expandmenu templatesupport.txt /*template-support-expandmenu*
template-support-hash templatesupport.txt /*template-support-hash*
template-support-help-templ templatesupport.txt /*template-support-help-templ*
template-support-indent templatesupport.txt /*template-support-indent*
template-support-insert templatesupport.txt /*template-support-insert*
template-support-intro templatesupport.txt /*template-support-intro*
template-support-lib-person templatesupport.txt /*template-support-lib-person*
template-support-library templatesupport.txt /*template-support-library*
template-support-list templatesupport.txt /*template-support-list*
template-support-lists templatesupport.txt /*template-support-lists*
template-support-lists-format templatesupport.txt /*template-support-lists-format*
template-support-lists-hash templatesupport.txt /*template-support-lists-hash*
template-support-map templatesupport.txt /*template-support-map*
template-support-menus templatesupport.txt /*template-support-menus*
template-support-noindent templatesupport.txt /*template-support-noindent*
template-support-nomenu templatesupport.txt /*template-support-nomenu*
template-support-novisual templatesupport.txt /*template-support-novisual*
template-support-opt-list templatesupport.txt /*template-support-opt-list*
template-support-opt-templ templatesupport.txt /*template-support-opt-templ*
template-support-options templatesupport.txt /*template-support-options*
template-support-sc templatesupport.txt /*template-support-sc*
template-support-shortcut templatesupport.txt /*template-support-shortcut*
template-support-start templatesupport.txt /*template-support-start*
template-support-syntax templatesupport.txt /*template-support-syntax*
template-support-syntax-cmd templatesupport.txt /*template-support-syntax-cmd*
template-support-syntax-list templatesupport.txt /*template-support-syntax-list*
template-support-syntax-templ templatesupport.txt /*template-support-syntax-templ*
template-support-templ-macro templatesupport.txt /*template-support-templ-macro*
template-support-templ-maps templatesupport.txt /*template-support-templ-maps*
template-support-templ-place templatesupport.txt /*template-support-templ-place*
template-support-templ-predef templatesupport.txt /*template-support-templ-predef*
template-support-templ-tags templatesupport.txt /*template-support-templ-tags*
template-support-templ-visual templatesupport.txt /*template-support-templ-visual*
template-support-templates templatesupport.txt /*template-support-templates*
template-support-visual templatesupport.txt /*template-support-visual*
templatesupport.txt templatesupport.txt /*templatesupport.txt*
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,43 @@
" Vim filetype plugin file
"
" Language : bash
" Plugin : bash-support.vim
" Maintainer : Fritz Mehner <mehner@fh-swf.de>
"
" -----------------------------------------------------------------
"
" Only do this when not done yet for this buffer
"
if exists("b:did_BASH_ftplugin")
finish
endif
let b:did_BASH_ftplugin = 1
"
"------------------------------------------------------------------------------
" Avoid a wrong syntax highlighting for $(..) and $((..))
"------------------------------------------------------------------------------
let b:is_bash = 1
"
"-------------------------------------------------------------------------------
" additional mapping : single quotes around a Word (non-whitespaces)
" masks the normal mode command '' (jump to the position
" before the latest jump)
" additional mapping : double quotes around a Word (non-whitespaces)
"-------------------------------------------------------------------------------
nnoremap <buffer> '' ciW''<Esc>P
nnoremap <buffer> "" ciW""<Esc>P
"
"-------------------------------------------------------------------------------
" set "maplocalleader" as configured using "g:BASH_MapLeader"
"-------------------------------------------------------------------------------
call Bash_SetMapLeader ()
"
" maps defined here will use "g:BASH_MapLeader" as <LocalLeader>
" example:
"map <buffer> <LocalLeader>eg :echo "Example Map :)"<CR>
"
"-------------------------------------------------------------------------------
" reset "maplocalleader"
"-------------------------------------------------------------------------------
call Bash_ResetMapLeader ()
"
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,94 @@
" Vim syntax file
" Language: mm template engine : template library
" Maintainer: Wolfgang Mehner <wolfgang-mehner@web.de>
" Last Change: 12.08.2013
" Version: 0.9.1-2
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
"-------------------------------------------------------------------------------
" Syntax
"-------------------------------------------------------------------------------
" comment
syn match Comment "^§.*$"
syn match Comment "\%(==\)\@<=[^=]*$"
" templates, lists, ...
syn match Structure "^==\s*\%(TEMPLATE:\)\?[a-zA-Z0-9\-+.,_ ]\+==\%(.\+==\)\?"
syn match Structure "^==\s*ENDTEMPLATE\s*=="
syn match Structure "^==\s*HELP:[a-zA-Z0-9\-+.,_ ]\+==\%(.\+==\)\?"
syn match Structure "^==\s*SEP:[a-zA-Z0-9\-+.,_ ]\+=="
syn match Structure "^==\s*LIST:\s*[a-zA-Z0-9_]\+\s*==\%(.\+==\)\?"
syn match Structure "^==\s*ENDLIST\s*=="
" style sections
syn match Statement "^==\s*IF\s\+|STYLE|\s\+IS\s\+[a-zA-Z0-9_]\+\s*=="
syn match Statement "^==\s*ENDIF\s*=="
syn match Statement "^==\s*USE\s\+STYLES\s*:[a-zA-Z0-9_, ]\+=="
syn match Statement "^==\s*ENDSTYLES\s*=="
" functions: command mode
syn match Function "IncludeFile\ze\s*("
syn match Function "SetFormat\ze\s*("
syn match Function "SetMacro\ze\s*("
syn match Function "SetStyle\ze\s*("
syn match Function "SetSyntax\ze\s*("
syn match Function "SetPath\ze\s*("
syn match Function "MenuShortcut\ze\s*("
syn match Function "SetProperty\ze\s*("
syn match Function "SetMap\ze\s*("
syn match Function "SetShortcut\ze\s*("
" functions: standard template
syn match Function "|\zsDefaultMacro\ze("
syn match Function "|\zsPrompt\ze("
syn match Function "|\zsPickFile\ze("
syn match Function "|\zsPickList\ze("
syn match Function "|\zsSurroundWith\ze("
syn match Function "|\zsInsert\ze("
syn match Function "|\zsInsertLine\ze("
syn match Comment "|C(.\{-})|"
syn match Comment "|Comment(.\{-})|"
" functions: picker
syn match Function "|\zsPath\ze(" " file
syn match Function "|\zsGetPath\ze(" " file
syn match Function "|\zsKeepPath\ze(" " file
syn match Function "|\zsRemovePath\ze(" " file
syn match Function "|\zsList\ze(" " list
syn match Function "|\zsGetList\ze(" " list
" functions: help
syn match Function "|\zsPrompt\ze("
syn match Function "|\zsWord\ze("
syn match Function "|\zsPattern\ze("
syn match Function "|\zsDefault\ze("
syn match Function "|\zsSubstitute\ze("
syn match Function "|\zsLiteralSub\ze("
syn match Function "|\zsSystem\ze("
syn match Function "|\zsVim\ze("
" strings, macros, tags, jump targets
syn match String "'\%([^']\|''\)*'"
syn match String "\"\%([^\\]\|\\.\)*\""
syn match Tag "|?\?[a-zA-Z][a-zA-Z0-9_:]*|"
syn match Tag "<CURSOR>\|{CURSOR}"
syn match Tag "<SPLIT>"
syn match Tag "<CONTENT>"
syn match Search "<\([+-]\)\w*\1>"
syn match Search "{\([+-]\)\w*\1}"
let b:current_syntax = "template"
-2
View File
@@ -1,2 +0,0 @@
[global]
break-system-packages = true
+1 -1
View File
@@ -1,4 +1,4 @@
ext jpg = open -a Preview "$@"
ext jpg = feh --scale-down "$@"
#ext doc = openoffice4 "$@"
#ext odt = openoffice4 "$@"
-12
View File
@@ -1,12 +0,0 @@
default-stream "1080p60,1080p,720p60,720p"
default-stream best
hls-live-edge 2
hls-segment-stream-data
player-no-close
player=mpv
retry-max 100
retry-open 10
retry-streams 10
stream-segment-threads=4
twitch-disable-ads
twitch-low-latency
+14
View File
@@ -0,0 +1,14 @@
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(markdown-command "/usr/bin/pandoc")
'(package-selected-packages
'(helm treemacs-persp treemacs-magit treemacs-icons-dired treemacs-projectile treemacs-evil lsp-java flycheck-haskell haskell-mode apache-mode auto-complete-clang markdown-mode company-ansible ansible-doc ansible yaml-mode flymake-yaml dockerfile-mode robe flymake-ruby magit multiple-cursors dired-sidebar dracula-theme flymake-shell flycheck-bashate flymake-shellcheck company move-text ox-reveal htmlize smex switch-window use-package)))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
)
+69 -169
View File
@@ -14,15 +14,18 @@
(package-initialize)
(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")
;; UTF-8
(set-language-environment "UTF-8")
;; Remove welcome screen
(setq inhibit-startup-screen t)
;; Disable menu
(menu-bar-mode 0)
;; Enable IDO mode
(setq ido-enable-flex-matching t)
;;(setq ido-everywhere t)
;;(ido-mode 1)
(global-set-key (kbd "C-x b") 'ido-switch-buffer)
;; Remove working cl
(require 'cl-lib)
(setq byte-compile-warnings '(cl-functions))
@@ -37,24 +40,6 @@
(package-install 'use-package)
)
;; Packages list refresh
(when (not package-archive-contents)
(package-refresh-contents))
;; Auto Package Update
(use-package auto-package-update
:ensure t
:config
(progn
(setq
auto-package-update-delete-old-verions t
auto-package-update-interval 5
)
(auto-package-update-maybe)
)
)
;; Set path to store "custom-set"
(setq custom-file "~/.emacs.d/emacs-custom.el")
@@ -76,8 +61,6 @@
(add-hook 'text-mode-hook 'auto-fill-mode)
(setq-default fill-column 80)
(add-hook 'prog-mode-hook #'display-fill-column-indicator-mode)
; Global turn on flycheck
(add-hook 'after-init-hook #'global-flycheck-mode)
@@ -94,30 +77,6 @@
(setq browse-url-browser-function 'browse-url-generic
browse-url-generic-program "browser-x")
;; Amx
(use-package amx
:ensure t
:after ivy
:custom
(
(amx-backend 'ivy)
(amx-show-key-bindings t)
)
:config
(amx-mode t)
)
;; Counsel
(use-package counsel
:ensure t
)
;; Custom theme
(add-to-list 'custom-theme-load-path
"~/.emacs.d/plugins/")
;; Switch-window
(use-package switch-window
:ensure t
@@ -142,6 +101,15 @@
(message "Monz not available; not configuring") )
(setq default-input-method "japanese-mozc")
;; Enable Smex
(use-package smex
:ensure t
:init
(smex-initialize)
:bind
("M-x" . smex)
)
;; reveal dependency
(use-package htmlize
:ensure t
@@ -167,9 +135,6 @@
)
(global-company-mode)
(setq company-dabbrev-downcase 0)
(setq company-idle-delay 0)
;; Shell - bash
(use-package flymake-shellcheck
:ensure t
@@ -193,16 +158,11 @@
(defun rc/get-default-font ()
(cond
((eq system-type 'windows-nt) "Consolas-13")
((eq system-type 'gnu/linux) "xos4 Terminus (TTF) Medium 16")))
((eq system-type 'gnu/linux) "xos4 Terminus Bold 16")))
(add-to-list 'default-frame-alist `(font . ,(rc/get-default-font)))
;; Theme
;;(use-package gruvbox-theme
;; :ensure t
;; :config
;; (load-theme 'gruvbox-dark-hard t))
(use-package dracula-theme
:ensure t
:config
@@ -219,19 +179,15 @@
;; Smex
(require 'smex)
(smex-initialize)
(global-set-key (kbd "M-x") 'counsel-M-x)
(global-set-key (kbd "M-x") 'smex)
;;buffer-move
(require 'buffer-move)
(global-set-key (kbd "C-x b") 'counsel-buffer-or-recentf)
(global-set-key (kbd "<C-S-up>") 'buf-move-up)
(global-set-key (kbd "<C-S-down>") 'buf-move-down)
(global-set-key (kbd "<C-S-left>") 'buf-move-left)
(global-set-key (kbd "<C-S-right>") 'buf-move-right)
;; Files
(global-set-key (kbd "C-x C-f") 'counsel-find-file)
;; Multiple-cursors
(use-package multiple-cursors
:ensure t
@@ -294,11 +250,6 @@
:config
)
;; pip install --user yamllint
(require 'flycheck-yamllint)
(eval-after-load 'flycheck
'(add-hook 'flycheck-mode-hook 'flycheck-yamllint-setup))
;; Ansible
(use-package ansible
:ensure t
@@ -389,46 +340,46 @@
:config
(progn
(setq treemacs-collapse-dirs (if treemacs-python-executable 3 0)
treemacs-deferred-git-apply-delay 0.5
treemacs-directory-name-transformer #'identity
treemacs-display-in-side-window t
treemacs-eldoc-display t
treemacs-file-event-delay 5000
treemacs-file-extension-regex treemacs-last-period-regex-value
treemacs-file-follow-delay 0.2
treemacs-file-name-transformer #'identity
treemacs-follow-after-init t
treemacs-git-command-pipe ""
treemacs-goto-tag-strategy 'refetch-index
treemacs-indentation 2
treemacs-indentation-string " "
treemacs-is-never-other-window nil
treemacs-max-git-entries 5000
treemacs-missing-project-action 'ask
treemacs-move-forward-on-expand nil
treemacs-no-png-images nil
treemacs-no-delete-other-windows t
treemacs-project-follow-cleanup nil
treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
treemacs-position 'left
treemacs-read-string-input 'from-child-frame
treemacs-recenter-distance 0.1
treemacs-recenter-after-file-follow nil
treemacs-recenter-after-tag-follow nil
treemacs-recenter-after-project-jump 'always
treemacs-recenter-after-project-expand 'on-distance
treemacs-show-cursor nil
treemacs-show-hidden-files t
treemacs-silent-filewatch nil
treemacs-silent-refresh nil
treemacs-sorting 'alphabetic-asc
treemacs-space-between-root-nodes t
treemacs-tag-follow-cleanup t
treemacs-tag-follow-delay 1.5
treemacs-user-mode-line-format nil
treemacs-user-header-line-format nil
treemacs-width 35
treemacs-workspace-switch-cleanup nil)
treemacs-deferred-git-apply-delay 0.5
treemacs-directory-name-transformer #'identity
treemacs-display-in-side-window t
treemacs-eldoc-display t
treemacs-file-event-delay 5000
treemacs-file-extension-regex treemacs-last-period-regex-value
treemacs-file-follow-delay 0.2
treemacs-file-name-transformer #'identity
treemacs-follow-after-init t
treemacs-git-command-pipe ""
treemacs-goto-tag-strategy 'refetch-index
treemacs-indentation 2
treemacs-indentation-string " "
treemacs-is-never-other-window nil
treemacs-max-git-entries 5000
treemacs-missing-project-action 'ask
treemacs-move-forward-on-expand nil
treemacs-no-png-images nil
treemacs-no-delete-other-windows t
treemacs-project-follow-cleanup nil
treemacs-persist-file (expand-file-name ".cache/treemacs-persist" user-emacs-directory)
treemacs-position 'left
treemacs-read-string-input 'from-child-frame
treemacs-recenter-distance 0.1
treemacs-recenter-after-file-follow nil
treemacs-recenter-after-tag-follow nil
treemacs-recenter-after-project-jump 'always
treemacs-recenter-after-project-expand 'on-distance
treemacs-show-cursor nil
treemacs-show-hidden-files t
treemacs-silent-filewatch nil
treemacs-silent-refresh nil
treemacs-sorting 'alphabetic-asc
treemacs-space-between-root-nodes t
treemacs-tag-follow-cleanup t
treemacs-tag-follow-delay 1.5
treemacs-user-mode-line-format nil
treemacs-user-header-line-format nil
treemacs-width 35
treemacs-workspace-switch-cleanup nil)
;; The default width and height of the icons is 22 pixels. If you are
;; using a Hi-DPI display, uncomment this to double the icon size.
@@ -438,19 +389,19 @@
(treemacs-filewatch-mode t)
(treemacs-fringe-indicator-mode 'always)
(pcase (cons (not (null (executable-find "git")))
(not (null treemacs-python-executable)))
(not (null treemacs-python-executable)))
(`(t . t)
(treemacs-git-mode 'deferred))
(`(t . _)
(treemacs-git-mode 'simple))))
:bind
(:map global-map
("M-0" . treemacs-select-window)
("C-x t 1" . treemacs-delete-other-windows)
("C-x t t" . treemacs)
("C-x t B" . treemacs-bookmark)
("C-x t C-t" . treemacs-find-file)
("C-x t M-t" . treemacs-find-tag)))
("M-0" . treemacs-select-window)
("C-x t 1" . treemacs-delete-other-windows)
("C-x t t" . treemacs)
("C-x t B" . treemacs-bookmark)
("C-x t C-t" . treemacs-find-file)
("C-x t M-t" . treemacs-find-tag)))
(use-package treemacs-evil
:after treemacs evil
@@ -474,57 +425,8 @@
:ensure t
:config (treemacs-set-scope-type 'Perspectives))
;; Python
(setq python-shell-interpreter "python3")
(setq py-python-command "/usr/bin/python3")
(use-package company-jedi
:ensure t
:config
)
(defun my/python-mode-hook ()
(add-to-list 'company-backends 'company-jedi))
(add-hook 'python-mode-hook 'my/python-mode-hook)
(setq-default ebuild-mode-update-copyright nil)
(setq jedi:environment-root "jedi") ; or any other name you like
(setq jedi:environment-virtualenv
(append python-environment-virtualenv
'("--python" "/usr/local/bin/python3")))
(defun infer-indentation-style () (interactive)
(let ((space-count (how-many "^ " (point-min) (point-max)))
(tab-count (how-many "^\t" (point-min) (point-max))))
(if (> space-count tab-count) (setq indent-tabs-mode nil))
(if (> tab-count space-count) (setq indent-tabs-mode t))))
(add-hook 'python-mode-hook
(lambda ()
(if indent-tabs-mode
(setq tab-width 4
python-indent-offset 4))))
(add-hook 'python-mode-hook 'infer-indentation-style)
;; python-black
(use-package python-black
:demand t
:after python)
;;; --- Look & Feel ---
;; Org-bullets
(use-package org-bullets
:ensure t
:config
:after org
:hook (org-mode . org-bullets-mode)
:custom
(org-bullets-bullet-list '("" "" "" "" "" "" "")))
;; Helm
(use-package helm
:ensure t
@@ -532,7 +434,7 @@
)
(add-hook 'helm-minibuffer-set-up-hook
'helm-hide-minibuffer-maybe)
'helm-hide-minibuffer-maybe)
(setq helm-autoresize-max-height 0)
(setq helm-autoresize-min-height 20)
@@ -541,11 +443,7 @@
(helm-mode 1)
;; Disable scroll bar
;; no toolbar:
(if (display-graphic-p)
(progn
(tool-bar-mode -1)
(scroll-bar-mode -1)))
(scroll-bar-mode -1)
;; Copy
(setq select-active-regions nil)
@@ -556,6 +454,9 @@
(global-set-key (kbd "M-+") 'text-scale-increase)
(global-set-key (kbd "M--") 'text-scale-decrease)
;; no toolbar:
(tool-bar-mode -1)
;; line numbers:
(global-display-line-numbers-mode 1)
@@ -625,4 +526,3 @@
(other-window 1)
)
(global-set-key (kbd "C-x x") 'kill-and-remove-split)
(global-set-key (kbd "<escape>") 'keyboard-escape-quit)
-58
View File
@@ -1,58 +0,0 @@
;;; flycheck-yamllint.el --- Flycheck integration for YAMLLint
;; Copyright (c) 2017 Krzysztof Magosa
;; Author: Krzysztof Magosa <krzysztof@magosa.pl>
;; URL: https://github.com/krzysztof-magosa/flycheck-yamllint
;; Package-Requires: ((flycheck "30"))
;; Created: 25 March 2017
;; Version: 0.1.0
;; Keywords: convenience, languages, tools
;; Permission is hereby granted, free of charge, to any person obtaining a copy
;; of this software and associated documentation files (the "Software"), to deal
;; in the Software without restriction, including without limitation the rights
;; to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
;; copies of the Software, and to permit persons to whom the Software is
;; furnished to do so, subject to the following conditions:
;; The above copyright notice and this permission notice shall be included in all
;; copies or substantial portions of the Software.
;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
;; IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
;; FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
;; AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
;; LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
;; OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
;; SOFTWARE.
;;; Commentary:
;;
;;; Code:
(require 'flycheck)
(flycheck-def-config-file-var flycheck-yamllintrc yaml-yamllint ".yamllint"
:safe #'stringp)
(flycheck-define-checker yaml-yamllint
"A YAML syntax checker using YAMLLint.
See URL `https://github.com/adrienverge/yamllint'."
:command ("yamllint" "-f" "parsable" source (config-file "-c" flycheck-yamllintrc))
:error-patterns
((error line-start (file-name) ":" line ":" column ": [error] " (message) line-end)
(warning line-start (file-name) ":" line ":" column ": [warning] " (message) line-end))
:modes yaml-mode)
;;;###autoload
(defun flycheck-yamllint-setup ()
"Setup Flycheck YAMLLint integration."
(interactive)
(add-to-list 'flycheck-checkers 'yaml-yamllint))
(provide 'flycheck-yamllint)
;;; flycheck-yamllint.el ends here
-68
View File
@@ -1,68 +0,0 @@
;;; flymake-yaml.el --- A flymake handler for YAML
;; Copyright (C) 2013 Yasuyuki Oka
;; Author: Yasuyuki Oka <yasuyk@gmail.com>
;; Version: 0.0.2
;; URL: https://github.com/yasuyk/flymake-yaml
;; Package-Requires: ((flymake-easy "0.1"))
;; Keywords: yaml
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with this program. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;
;; Based in part on http://d.hatena.ne.jp/kitokitoki/20120306/p1
;;
;; Usage:
;;
;; (require 'flymake-yaml) ;; Not necessary if using ELPA package
;; (add-hook 'yaml-mode-hook 'flymake-yaml-load)
;;
;; Uses flymake-easy, from https://github.com/purcell/flymake-easy
;;; Code:
(require 'flymake-easy)
(defconst flymake-yaml-err-line-patterns
;; Syck error message
'(("syntax error on line \\([0-9]+\\), col \\([0-9]+\\): `\\(.*\\)'" nil 1 2 3)
;; Psych error message
(".*: \\(.*\\) at line \\([0-9]+\\) column \\([0-9]+\\)" nil 2 3 1)))
(defun flymake-yaml-command (filename)
"Construct a command that flymake can use to check yaml source.
Argument FILENAME
YAML file name."
(list "ruby" "-ryaml" "-e" "YAML.load(ARGF) rescue warn $!" filename))
;;;###autoload
(defun flymake-yaml-load ()
"Configure flymake mode to check the current buffer's YAML syntax."
(interactive)
(when (eq major-mode 'yaml-mode)
(flymake-easy-load 'flymake-yaml-command
flymake-yaml-err-line-patterns
'tempdir
"yml")))
(provide 'flymake-yaml)
;; Local Variables:
;; coding: utf-8
;; eval: (checkdoc-minor-mode 1)
;; End:
;;; flymake-yaml.el ends here
-6
View File
@@ -1,6 +0,0 @@
;; -*- emacs-lisp -*- <21/03/22 00:03:53 /home/yorune/.emacs.d/tramp>
;; Tramp connection history. Don't change this file.
;; Run `M-x tramp-cleanup-all-connections' instead.
(((tramp-file-name "sudo" "root" nil "Gentoo" nil nil nil)
nil))
-3
View File
@@ -1,3 +0,0 @@
((magit-commit nil)
(magit-dispatch nil)
(magit-push nil))
-8
View File
@@ -1,8 +0,0 @@
[user]
name = Marcin Woźniak
email = y0rune@aol.com
signingkey = D34FB8A44F324B8A
[include]
path = ~/.gituser.config
path = ~/.gitconfig.local
-52
View File
@@ -1,52 +0,0 @@
[gpg]
program = gpg
[commit]
gpgsign = true
verbose = true
[pull]
rebase = false
[push]
autoSetupRemote = true
[init]
defaultBranch = main
[alias]
ci = commit --verbose
co = checkout
cp = cherry-pick
df = !git --no-pager diff
br = !git branch | cat
dfh = !git --no-pager diff
diffh = !git --no-pager diff
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an - %ae>%Creset' --abbrev-commit --branches
prune-tags = !git tag -l | xargs git tag -d && git fetch -t
show = --no-pager show --color --pretty=format:%b
squash-all = "!f(){ git reset $(git commit-tree HEAD^{tree} \"$@\");};f"
st = status --ignore-submodules=dirty -s
untrack-file = !git update-index --assume-unchanged
exclude-file = !git update-index --assume-unchanged
c = commit --author='Marcin Woźniak <y0rune@aol.com> -s'
cw = commit --author='Marcin Woźniak <marcin.wozniak@wundermanthompson.com> -s'
retag = "!f() { if [ -z \"$1\" ]; then echo \"No version provided. Skipping git push.\"; else git tag --delete $1 2>/dev/null; git tag -a $1 -m \"Version $1\"; git push --tags -f; git push -f; fi; }; f"
delete-branch = "!$HOME/.local/bin/git-delete-branch"
[url "git@github.com:"]
insteadOf = "https://github.com/"
[credential "https://github.com"]
helper =
helper = !/usr/bin/gh auth git-credential
[credential "https://gist.github.com"]
helper =
helper = !/usr/bin/gh auth git-credential
[filter "lfs"]
process = git-lfs filter-process
required = true
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
+58 -208
View File
@@ -1,282 +1,132 @@
.config/backup-started*
.Xauthority
.matplotlib
.Trash
.DS_Store
.ansible
.CFUserTextEncoding
.cups/
.docker/
.oh-my-zsh/
.shell.pre-oh-my-zsh
.zcompdum*
.zsh_history
.zsh_sessions/
.emacs.d/emacs-custom.el
.emacs.d/smex-items
notes
Applications/
Desktop/
Library/
Pictures/
Public/
VirtualBox*
synergy.log
.config/Element/
.config/TabNine/
.config/coc/
.config/google-chrome/
.config/teamviewer/
.ipython/
.bugz_token
.irbrc
.jupyter/
.local/bin/autopep8
.local/bin/isort-identify-imports
.local/bin/pycodestyle
.local/bin/surprise
.local/bin/yamllint
.config/Signal/
.config/lazygit/
.config/libreoffice/
.config/quassel-irc.org/
.local/bin/pytube
.local/bin/spotify_dl
.packer.d/
.spotifydl/
.netrc
.nvimlog
.python_history
.vmware/
.plannaplan
.config/Microsoft/
.config/autostart/
.config/keepassxc/
.config/mimeapps.list
.config/teams/
.local/bin/epylint
.local/bin/haruhi-dl
.local/bin/isort
.local/bin/pylint
.local/bin/pyreverse
.local/bin/symilar
.aws/
.local/bin/wheel
.logSynology
.vscode/
.yarnrc
.emacs.d/elpa/
.fltk/
.local/bin/vpnst
.npm/
.Xauthority
.anthy/
.aspell.*
.bash_history
.bash_logout
.bash_profile
.bashrc
.bitcoin
.bundle/
.cache/
.cargo
.cert/
.swt/
.smb
.emacs.d/ido.last
.local/bin/black*
.config/zsh/
.fzf.bash
.fzf.zsh
.fzf/
.local/bin/ansible*
.recently-used
.eclipse/
.emacs.d/.dap-breakpoints
.password
.chatty/
.config/transmission-daemon/
.config/wireshark/
.config/tea/
.config/ibus/
.config/vivaldi/
.config/gtk-2.0/
.config/*.conf
.config/BraveSoftware
.config/GIMP/
.config/Microsoft/
.config/Postman/
.config/QtProject.conf
.config/VSCodium
.config/autostart/
.config/cmus
.config/configstore
.config/dconf
.config/discord
.config/freerdp
.config/fzf
.config/gtk-3.0
.config/htop
.config/ibu
.config/keepassxc/
.config/mimeapps.list
.config/mpv/watch_later/
.config/msmtp
.config/mutt
.config/neofetch/
.config/newsboat/urlswork
.config/nvim/autoload
.config/nvim/plugged
.config/procps
.config/pulse
.config/qalculate
.config/QtProject.conf
.config/spicy
.config/teams/
.config/VSCodium
.config/cmus
.config/dconf
.config/fzf
.config/htop
.config/mutt
.config/procps
.config/qalculate
.config/vpn
.config/weatherreport
.config/newsboat/urlswork
.dbus/
.emacs.d/.lsp-session-v1
.emacs.d/.mc-lists.el
.emacs.d/ac-comphist.dat
.emacs.d/auto-save-list/
.emacs.d/eclipse.jdt.ls/
.emacs.d/elpa/
.emacs.d/workspace/
.fehbg
.fltk/
.gem/
.ghc/
.gitconfig
.gkrellm2/data/
.gnome/
.gnupg/
.gtkrc-2.0
.history_zsh
.icons/
.irb_history
.irssi/
.java/
.jd2/
.lesshst
.local/bin/__pycache__/
.local/bin/backupSynology
.local/bin/chardetect
.local/bin/epylint
.local/bin/flask
.local/bin/futurize
.local/bin/haruhi-dl
.local/bin/isort
.local/bin/pasteurize
.local/bin/pwiz.py
.local/bin/pylint
.local/bin/pyreverse
.local/bin/symilar
.local/bin/vpnst
.local/bin/wheel
.local/bin/estimator_ckpt_converter
.local/bin/f2py3.9
.local/bin/google-oauthlib-tool
.local/bin/import_pb_to_tensorboard
.local/bin/markdown_py
.local/bin/pyrsa-*
.local/bin/saved_model_cli
.local/bin/tensorboard
.local/bin/tf_upgrade_v2
.local/bin/tflite_convert
.local/bin/toco
.local/bin/toco_from_protos
.local/bin/tqdm
.local/bin/f2py
.local/bin/f2py3
.keras/
.config/menus
.local/bin/wheel
.local/include/
.local/lib/
.local/lib64/
.local/share/
.logSynology
.m2/
.mbsyncrc
.megaCmd/
.minecraft/
.mozc/
.mozilla/
.node_repl_history
.notmuch-config
.npm/
.nv/
.nvidia-settings-rc
.openoffice/
.oracle_jre_usage/
.password-store/
.pki/
.plannaplan
.pvpn-cli/
.pylint.d/
.screenlayout/
.solargraph/
.sqlite_history
.ssh/
.sshservers
.steam/
.steampath
.steampid
.sts4/
.thunderbird/
.tig_history
.tlauncher/
.tooling/
.ts3client/
.var/
.vim/
.viminfo
.vimspector.log
.vnc/
.vscode-oss/
.vscode-server/
.vscode/
.w3m/
.weechat/
.wget-hsts
.wine/
.wmWeatherReports/
.yarnrc
.zcompdump-Gentoo-5.8
.bitcoin
.gkrellm2/data/
.wmWeatherReports/
.local/lib/
.mbsyncrc
.notmuch-config
.password-store/
.vnc/
go/
Documents
Downloads
Linux
mega
MEGA
Muzyka
Screenshots
Wallpapers
developer-quiz.txt
git/
go/
ittv-credentials
mcserver/
mega
www
Movies/
Music/
notes.org
.config/backup.log
.config/gh/config.yml
.config/gh/hosts.yml
.local/state/gh/state.yml
.emacs.d/ido.last~
.config/karabiner/automatic_backups
.config/qBittorrent
.config/envman
.emacs.d/.last-package-update-day
.emacs.d/amx-items
.local/bin/pathman
.local/bin/webi
.local/opt/pathman-v0.5.2/bin
Musik/
.config/ytmdl
golang
.virtualenvs/debugpy
.local/bin/mgorny-dev-scripts
.local/bin/serviceman
.local/opt/serviceman-v0.8.0/bin
.emacs.d/recentf
.config/filezilla
.local/state/mume
.putty
.redhat
.cpanm
.node-gyp/14.16.0
.packettracer
.dlv
Cisco Packet Tracer 8.0.0
.local/bin/kubectl
.rustup
.local/tss-sdk
.local/bin/tss
.wget-hsts
.icons/
.gtkrc-2.0
.mozc/
.emacs.d/ac-comphist.dat
.local/bin/chardetect
.local/bin/flask
.local/include/
.config/neofetch/
.vimspector.log
.tig_history
.tooling/
.sts4/
.solargraph/
.screenlayout/
.pylint.d/
.nvidia-settings-rc
.m2/
.config/mpv/watch_later/
.gem/
.config/Postman/
.config/GIMP/
+6
View File
@@ -0,0 +1,6 @@
IRB.conf[:AUTO_INDENT] = true
IRB.conf[:USE_READLINE] = true
IRB.conf[:LOAD_MODULES] = [] unless IRB.conf.key?(:LOAD_MODULES)
unless IRB.conf[:LOAD_MODULES].include?('irb/completion')
IRB.conf[:LOAD_MODULES] << 'irb/completion'
end
Binary file not shown.
-675
View File
@@ -1,675 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 930 B

Some files were not shown because too many files have changed in this diff Show More