Auto complete of braces in emacs - emacs

I am wondering whether there is a method in emacs editor that while writing some codes (say in R or Latex) the obvious closing braces come automatically. Like if I use RStudio, the closing brace appears whenever I write an open brace. This feature is available in Kile too (talking about using Latex). By default this feature is not available in emacs (with ESS). Is there some way I can activate this feature?

Assume there are several solutions. One is here:
https://github.com/Fuco1/smartparens

Related

Use only Emacs default keybindings

(update: a valid answer can include "there is no neat/automated way of doing this) I've been keeping myself busy with other things but if I know there is no neat way of doing what is requested below then I'll just get started on finding some manual way as much as possible.
I have been looking online for a way to ensure all my emac buffers use the same keybindings. However I use exwm & certain applications such as libreoffice have their own keybindings which take precedence over emacs keybindings. Is there some code I can use to make all emacs default keybindings take precedence over any other application?
A specific example is this situation:
I want to be able to use the default bindings to change which buffer I am using position wise. I do this using (windmove-default-keybindings) however when I switch to an application like libreoffice writer, that application makes it so S-arrowkey doesn't move my active buffer anymore (libreoffice takes over that keybinding). I wish for windmove to still control what S-arrow key does.
In general this means I want emacs to be the only application in control of any keybinding. Is the only way to do this is to set each keybinding as global manually? and will a global keybinding take precedence over applications like libreoffice?

How do I run an external command on the current selection in VS Code?

I'm currently switching editors from Vim to VS Code. One feature I like in vim is the ability to run an external command on a region of text (the :! command). I've been unable to find an obvious equivalent in VS Code.
Is this feature available in VS Code? Or is there an extension that provides it?
(As a more general question, what's the best way of finding out things like this? Is there a website or anything that describes how to do common tasks from other editors in VS Code?)
For the record, VSCodeVim allows you to do the same thing.
Having searched some more (the key term is "filter the selection") I found the Filter Text extension, which does exactly what I want.

bracket matching in ipython

Is there an option to automatically close brackets,quotes, parentheses etc in IPython?
I hoped there was a feature similar to that in the gedit plugin.
It is possible to get apps (including IPython) that use readline to automatically add a closing parenthesis when an open parenthesis is typed by tweaking your ~/.inputrc, as suggested here, e.g. by adding:
"(": "\C-v()\e[D"
Note that according to the creator of IPython automatic bracket matching can't be done in a plain readline-based application (i.e in a normal IPython terminal session). Though it's already part of the standard functionality of IPython's qtconsole (Although as commented below auto-closing of brackets is not currently possible).
if codemirror support it then it is probably possible by monkey-patch. Configurability is on it's way but long way to go. Patches welcomed.

How to make autocomplete in Emacs appear in another window?

Using CEDET, everytime it autocompletes after a member selection "." or ">", another buffer overrides the current one. I find it really annoying.
Also, how can I use page up/page down with the small buffer of auto-complete mode?
For your #1, consider filing an Emacs bug report (CEDET is now part of vanilla Emacs), using M-x report-emacs-bug. The Emacs developers will determine whether the behavior really represents a bug (or an enhancement request).

What is the short-cut key to jump to declaration in Emacs?

In visual studio it 's easier to push F12 button to jump to a declaration of a function or variable when editing C/C++ code.
Is there a short-cut key in emacs to do that?
Well, it's a bit more involved than that.
By default, Emacs doesn't "know" about function declarations for C or C++ code. First, obtain Exuberant Ctags. Then, use command etags (ctags for Emacs) on your source code. A file named TAGS will be generated.
Then, while editing your source code, when you want to jump to a declaration, press M-. (meta and dot, or alt and dot on modern keyboards). At first, Emacs will ask you for location of your tags file. Point it to the one you generated and afterwards navigation will be automatic.
I'd suggest reading Emacswiki article about tags for a better understanding of this functionality.
The newest version of Emacs (23.2) comes with CEDET integrated, which has more advanced features for C and C++ navigation, but it can be a bit difficult to set up right, so read more about it if you're interested.
M-. key will take you to the function definition emacs.
As others have said there is no built-in universal solution for this in emacs. That said, after having this functionality in IntelliJ I wanted it in emacs too so I made Dumb Jump.
Right now Dumb Jump has basic support for:
JavaScript
Emacs Lisp
Python
Go
PHP
Ruby
Faust
and more... (over 20 now)
It's available via MELPA and is actively being developed.
There are multiple ways to do this. As darioo mentioned, Ctags is one, but it goes to the definition by default (which might work for you). Looking further, though, you can see that prefixing M-.(ie, C-u M-.) will take you to the next tag match (which is often the declaration). There is also a --declarations option, but Exuberant Ctags doesn't seem to support it.
CEDET is another option, but in my experience, it's still not ready for production. Often times in C++ semantic-ia-fast-jump will go to forward declarations instead of the definition or the declaration.