Code Monkey home page Code Monkey logo

rskey's Introduction

rskey

CRAN_Status_Badge downloads Rdoc "rskey dependencies"

rstudio addins for Keyboard shortcuts

Rstudio addins to examine selected code in the Rstudio editor.
Berry Boessenkool ([email protected]), May 2017, with selectobject code idea from digital-dharma/RStudioAddIns).

I find it very useful to bind the addins to keyboard shortcuts like this (and label the keyboard):

  • F3 - structure of an object - str(selected_code)
  • F4 - head of an object - head(selected_code)
  • F5 - tail of an object - tail(selected_code)
  • F6 - View an object - View(selected_code)
  • F7 - funSource of an object - funSource(selected_code)
  • F8 - summary of an object - summary(selected_code)
  • F9 - dim of an object - dim(selected_code)
  • F10 - class of an object - class(selected_code)
  • F11 - plot an object - plot(selected_code, las=1)
  • F12 - histogram of an object - hist(selected_code, col="moccasin", breaks=50, las=1)

To use such keyboard shortcuts, follow these instructions:

if(!requireNamespace("remotes")) install.packages("remotes")
remotes::install_github("brry/rskey")

# either set all bindings:
rskey::setKeyboardBindings(overwrite=TRUE)
# by default also sets CTRL+Y for ReDo and CTRL+H for setWorkingDirToActiveDoc

# or manually:
# Rstudio - Tools - Modify Keyboard Shortcurts
# click on an addin shortcut field and press the desired key combination
# (Restart Rstudio)

funSource

funSource provides an easy option to open the source code of a function in a browser window.
Through github, there are nice syntax highlighting and search options.

find package

funSource(someFunction) tries to find the corresponding package to the input function.
You can also explicitly request funSource("somePackage::someFunction").
This works even if the package is not installed (in which case you do need the quotation marks).

open urls

In the default browser, it the opens the first link if it exists, the second if not:

  • github.com/cran/somePackage/blob/master/R/someFunction.R (or .r file)
  • github.com/search?q=someFunction function repo:cran/somePackage+path:R

The second link is a github search query needed when a function is defined in a file with a different name.
Functions in the base R packages will be searched in the wch/r-source/src/library repo.

limits

Currently, the funSource-initiated github search doesn't find names or dimnames in base R. Any idea to solve this kind of limitation is welcome!

origin

funSource is imported from berryFunctions.

examples

Examples on links opened by funSource:

Functions in CRAN packages - spatstat::rescale:
https://github.com/cran/spatstat/blob/master/R/rescale.R
https://github.com/search?q=rescale function repo:cran/spatstat+path:R

Functions in base packages - graphics::hist:
https://github.com/wch/r-source/tree/trunk/src/library/graphics/R/hist.R
https://github.com/search?q=hist function repo:wch/r-source+path:src/library/graphics/R

rskey's People

Contributors

brry avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar Caio Peixoto avatar

Watchers

James Cloos avatar  avatar  avatar

rskey's Issues

str to glimpse

Hi dude, your package is awesome, just a suggestion may you change str function to glimpse from dplyr.
Because the appareance of glimpse looks better than str function.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.