# lib/aia/tools/vim.rb class AIA::Vim < AIA::Tools meta( name: 'vim', role: :editor, desc: "Vi IMproved (VIM)", url: "https://www.vim.org", install: "brew install vim", ) DEFAULT_PARAMETERS = [ " ", # no parameters ].join(' ') attr_accessor :command def initialize(file: "") @file = file build_command end def build_command @command = "#{meta.name} #{DEFAULT_PARAMETERS} #{@file}" end def run # Using 'system' instead of backticks becuase # with the back ticks vim was complaining that it # was not connected to a terminal. system command end end __END__ VIM - Vi IMproved 9.0 (2022 Jun 28, compiled Sep 30 2023 05:45:56) Usage: vim [arguments] [file ..] edit specified file(s) or: vim [arguments] - read text from stdin or: vim [arguments] -t tag edit file where tag is defined or: vim [arguments] -q [errorfile] edit file with first error Arguments: -- Only file names after this -v Vi mode (like "vi") -e Ex mode (like "ex") -E Improved Ex mode -s Silent (batch) mode (only for "ex") -d Diff mode (like "vimdiff") -y Easy mode (like "evim", modeless) -R Readonly mode (like "view") -Z Restricted mode (like "rvim") -m Modifications (writing files) not allowed -M Modifications in text not allowed -b Binary mode -l Lisp mode -C Compatible with Vi: 'compatible' -N Not fully Vi compatible: 'nocompatible' -V[N][fname] Be verbose [level N] [log messages to fname] -D Debugging mode -n No swap file, use memory only -r List swap files and exit -r (with file name) Recover crashed session -L Same as -r -T Set terminal type to --not-a-term Skip warning for input/output not being a terminal --ttyfail Exit if input or output is not a terminal -u Use instead of any .vimrc --noplugin Don't load plugin scripts -p[N] Open N tab pages (default: one for each file) -o[N] Open N windows (default: one for each file) -O[N] Like -o but split vertically + Start at end of file + Start at line --cmd Execute before loading any vimrc file -c Execute after loading the first file -S Source file after loading the first file -s Read Normal mode commands from file -w Append all typed commands to file -W Write all typed commands to file -x Edit encrypted files --startuptime Write startup timing messages to --log Start logging to early -i Use instead of .viminfo --clean 'nocompatible', Vim defaults, no plugins, no viminfo -h or --help Print Help (this message) and exit --version Print version information and exit