Thursday, February 13, 2020

Error opening directory '/media/sf_C_DRIVE': Permission denied

I tried to share a folder from Windows 10 host to Kali 2020.1 Linux guest using VirtualBox but I am getting the following error message:

Error opening directory '/media/sf_C_DRIVE': Permission denied

To fix, do:
$: sudo adduser $USER vboxsf
Then log-off then log back in.


CPP Quick Guides

Hello world
While loop
If statement
For loop
Switch statement
Read file using ifstream
Write to a file using ofstream

Basic usage of std::list
Basic usage of std::map
Basic usage of std::vector
Data type conversion

CPP: Simple data type conversion

Convert string to int:

To build:
$: clang++ dataconv.cpp

Run it:
$: ./a.out

Friday, February 07, 2020

CPP: Basic usage of std::vector

Very basic usage of C++ STL std::vector

To build:
$: clang++ stdvector.cpp

Run it:
$: ./a.out

Wednesday, February 05, 2020

CPP: Basic usage of std::map

Very basic usage of C++ STL std::map

To build:
$: clang++ stdmap.cpp

Run it:
$: ./a.out

Tuesday, February 04, 2020

CPP: Using std::list

Very basic usage of C++ STL std::list

To build:
$: clang++ stdlist.cpp

Run it:
$: ./a.out

Monday, February 03, 2020

VI Editor common operations

My commonly used vi shortcut keys:

Basic operations
:qQuit VIThis will exit VI editor
:q!Force quitThis will exit VI editor even if buffers are dirty
:wSave current bufferSave currently active buffer
:e <ENTER>Reload current buffer from file
:e /path/to/fileLoad /path/to/file to a buffer
:set nowrapDon't wrap text
:set numberShow line number
:set nuShow line number (short hand)
:set nonumberHide line number
:set nu!Hide line number (short hand)
Text Operations
vStart Visual Mode(for copying)
yYank/copy selected text
yyCopy line
2yCopy 2 lines from the cursor
pPaste _after_ the current line
PPaste _before_ the current line
xDelete char under the cursor
dwDelete the word under the cursorThis will also delete the space after it
3dwDelete 3 wordsThis will also delete the space after it
ddDelete lineDeletes the entire line
0Jump to beginning of line
$Jump to end of line
w(count)Move to beginning of the word
bMove to the beginning of the word
eMove to the end of the word (punctuation considered part of the word)
geJump to previous word ending
gEJump to previous word ending, ignore punctuation
ggStart of file
GEnd of file
21GGo to line 22
Search and Replace
/{string}{ENTER}Search for string
:%s/foo/bar/gSearch for foo and replace with bar in the current buffer
Note** run vimdiff file1 file2
]cJump to the next difference
[cJump to the previous difference
doCopy line diff from _right_ buffer to the _left_ buffer
dpCopy line diff from _left_ buffer to the _right_ buffer
Buffer operations
:bdDelete current buffer
:bnextMove to next buffer
:bpreviousMove to previous buffer
:b <tab>Tab select buffers
:lsList buffers (or :buffers or :files)
:ls <CR> :bxList buffers and then select buffer "x"
Multiple Windows
C-w C-wMove cursor to another window (cycle). Useful with NerdTree

VIM Introduction and Tutorial (link)
VI Cheat Sheet (link)
VIM Tips (link)
Code Merging with VIM (link)
VIM Tips and Tricks (